Mongodb 流星:通过_id从集合中查找对象
我正试图用流星找到一个物体 以下是我尝试过的:Mongodb 流星:通过_id从集合中查找对象,mongodb,meteor,Mongodb,Meteor,我正试图用流星找到一个物体 以下是我尝试过的: Meteor.publish("gifts", function(gid) { console.log("Looking for "+ gid); var gifts = Gifts.find({_id: gid}).fetch(); console.log("Result: " + gifts); return gifts; }); 这是输出: 查找f1790caa-7a10-4af5-a01c-e80bb2c2fd55结果:
Meteor.publish("gifts", function(gid) {
console.log("Looking for "+ gid);
var gifts = Gifts.find({_id: gid}).fetch();
console.log("Result: " + gifts);
return gifts;
});
这是输出:
查找f1790caa-7a10-4af5-a01c-e80bb2c2fd55结果:
如果我提出这个问题:
Meteor.publish("gifts", function(gid) {
console.log("Looking for "+ gid);
var gifts = Gifts.find().fetch()[1];
console.log("Result:" + gifts._id);
return gifts;
});
对象在数组中,并且_id与上面的相同
查找f1790caa-7a10-4af5-a01c-e80bb2c2fd55结果:
f1790caa-7a10-4af5-a01c-e80bb2c2fd55
此外,如果我在mongo控制台中执行查找,我会找到以下对象:
> db.gifts.find({_id: 'f1790caa-7a10-4af5-a01c-e80bb2c2fd55'});
{ "name" : "A new gift", "_id" : "f1790caa-7a10-4af5-a01c-e80bb2c2fd55" }
我做错了什么?您是从哪里插入文档的?MongoDB以不同的方式对待字符串和ObjectID,而且Meteor中目前似乎存在一个错误,无法正确处理ObjectID
谢谢你的指点。令人惊讶的是,即使考虑到Meteor处于早期阶段,像这样基本的东西仍然不起作用。在Meteor版本1.4中,仍然可以观察到这种行为(我遇到了同样的陷阱)。@shelman链接的问题建议使用
meteor shell
而不是mongo控制台。