3

次のコードを使用してデータを mongo に挿入していますが、コンソールからデータをすべて消去してページが乱雑にならないようにする方法を知りたいと思っています。コメント名のエントリを選択して削除できるように、選択的に削除する方法も知りたいと思います。

http://tuts.meteor.comでライブ

Messages = new Meteor.Collection('messages');


if (Meteor.is_client){

   ////////// Helpers for in-place editing //////////

  // Returns an event_map key for attaching "ok/cancel" events to
  // a text input (given by selector)
  var okcancel_events = function (selector) {
    return 'keyup '+selector+', keydown '+selector+', focusout '+selector;
  };

  // Creates an event handler for interpreting "escape", "return", and "blur"
  // on a text field and calling "ok" or "cancel" callbacks.
  var make_okcancel_handler = function (options) {
    var ok = options.ok || function () {};
    var cancel = options.cancel || function () {};

    return function (evt) {
      if (evt.type === "keydown" && evt.which === 27) {
        // escape = cancel
        cancel.call(this, evt);
      } else if (evt.type === "keyup" && evt.which === 13) {
        // blur/return/enter = ok/submit if non-empty
        var value = String(evt.target.value || "");
        if (value)
          ok.call(this, value, evt);
        else
          cancel.call(this, evt);
      }
    };
  };//added as test

    Template.entry.events = {};


  /*  Template.entry.events[okcancel_events('#messageBox')] = make_okcancel_handler({
      ok:function(text, event){
        var nameEntry = document.getElementById('name');
        if(nameEntry.value != ""){
          var ts = Date.now() / 1000;
          Messages.insert({name: nameEntry.value, message: text, time: ts});
          event.target.value = "";
        }//if statment ends
      }
    });
  */





    Template.entry.events['click #submit'] = function() {
        var nameEntry = document.getElementById('name');
        if(nameEntry.value != ""){
            var ts = Date.now() / 1000;
            Messages.insert({name: nameEntry.value, message: $('#messageBox').val(), time: ts});
        }
    }



  Template.messages.messages = function () {
    return Messages.find({}, { sort: {time: -1} });
  };
}
4

1 に答える 1

11

すべて消去するには:

meteor reset

os コンソールでクエリを実行して 1 つずつ削除するには

meteor mongo
db.collectionname.remove({query})

または、コレクションがクライアントに公開されている場合は、chrome/safari/firebug コンソールから行うこともできます。これにより、UI を構築して使用できます。

collectionname.remove({query})

ヒント:

regexpを使用して、正規表現に一致する一連のドキュメントを高速化および削除できます。たとえば、フィールドの「the」を含むすべての値を削除したい場合name。これは、mongo コンソール、サーバー、およびクライアントで機能します。

collectionname.remove({ name : { $regex: 'the', $options: 'i' }});

このiオプションにより、クエリで大文字と小文字が区別されなくなります。

もちろんcollecionname、ヒットすることにしたコレクションの単なるプレースホルダーです。

于 2013-02-19T00:44:11.580 に答える