我试图通过_id与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().fetch()[1];
console.log("Result:" + gifts._id);
return gifts;
});
对象在数组中,_id与上面相同。
寻找f1790caa-7a10-4af5-a01c-e80bb2c2fd55结果: f1790caa-7a10-4af5-A01C-e80bb2c2fd55
另外,如果我在mongo控制台中执行find,我会找到对象:
> db.gifts.find({_id: 'f1790caa-7a10-4af5-a01c-e80bb2c2fd55'});
{ "name" : "A new gift", "_id" : "f1790caa-7a10-4af5-a01c-e80bb2c2fd55" }
我做错了什么?
答案 0 :(得分:5)
您从哪里插入文件? MongoDB以不同的方式处理字符串和objectId,看起来Meteor中当前存在一个错误,它无法正确处理objectIds。