Meteor Mongo find对_id:0不起作用

时间:2014-12-27 06:57:14

标签: mongodb meteor find mongodb-query minimongo

我有一个名为qa的模板,在其中我使用名为question的帮助程序,它将根据text获取文档的_id字段属性。

Template.qa.helpers({
    question: function () {
        return Questions.find({_id: 24}).fetch()[0].text;
    }
});

这适用于所有_id值,除非我使用_id: 0,否则不会返回任何内容。我在minimongo控制台上运行db.questions.find({_id: 0}),它确实返回了一个文档。

{ "_id" : 0, "author" : 0, "create" : "2014-12-22T13:26:23.038Z", "liked" : [ ], "range" : "", "text" : "I want to get this text", "update" : "2014-12-22T13:26:23.038Z", "version" : 1 }

我可以不在_id: 0中使用collection.find()作为Meteor吗?

澄清:我不想返回除_id以外的所有字段,我想根据_id值查找/选择。但如果_id为0,则无效。

1 个答案:

答案 0 :(得分:1)

我认为你想避免使用falsy _id值。 Meteor用随机数替换一个假的_id,以防止它进入数据库。关于the code的评论解释了它:

// protect against dangerous selectors.  falsey and {_id: falsey} are both
// likely programmer error, and not what you want, particularly for destructive
// operations.  JS regexps don't serialize over DDP but can be trivially
// replaced by $regex.