Meteor collection update with traditional id

前端 未结 2 872
心在旅途
心在旅途 2020-12-17 23:36

Im trying to do a simple update

Collection.update(id, {$set:{name:value}}); 

or even

Collection.update({\'_id\':id}, {$set:         


        
相关标签:
2条回答
  • 2020-12-17 23:36

    You're right: Meteor's DDP protocol doesn't support non-JSON types such as Mongo ObjectId. We know this is a problem: it's our oldest open issue and it's on our roadmap.

    While there are definitely some "easy" quick fixes that would resolve this issue, we'd prefer to do this in the context of extending our protocol to handle other non-JSON types (dates, binary blobs, etc) rather than a specific short-term hack.

    0 讨论(0)
  • 2020-12-17 23:41

    It's possible to convert your ID into a mongodb object (on the server side) by using new ObjectID and then do the update. :

    var ObjectID, require;
    
    require = __meteor_bootstrap__.require;
    
    ObjectID = require("mongodb").ObjectID;
    
    Meteor.methods({
      SomeUpdate: function(upd) {
        var id;
        id = new ObjectID(upd['_id']);
        return SomeDB.update({
          _id: id
        }, {
          $set: {
            field: value
          }
        }, function(res) {
          return console.log(res);
        });
      }
    });
    
    0 讨论(0)
提交回复
热议问题