我试图做一个简单的更新
Collection.update(id, {$set:{name:value}});
甚至
Collection.update({'_id':id}, {$set:{name:value}});
id
但是如果是传统的 mongodb id ,则集合不会更新。它似乎只适用于流星自己实现的唯一 ID。我该如何补救。流星可以接受mongo自己的id结构吗?
可以使用 new ObjectID 将您的 ID 转换为 mongodb 对象(在服务器端),然后进行更新。:
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);
});
}
});