mongoose嵌套的文件

我想要的只是返回_id和数据(不是我的领域,但由于mongoose有这个主要的例子): mongooseembedded文件文档

所以,我不特别寻找任何_id,我正在寻找与meta.votes.length> 0或meta.fans.length> 0.目前我做的logging:

Model.find({}, ['_id','meta'], function (err, data) { callback(null, data); });

我得到没有/数据/的logging。 我想替代没有find这些设置将是一种方法来过滤掉它们?

编辑:我暂时解决了我的问题:

use : { type: Boolean, default: 1 },

虽然这可能是一个function(显示和隐藏结果 – 例如旧数据),我不认为这是一个/解决scheme/。

那么meta.votesmeta.fans都只是数字对象,所以我不认为你想meta.fans.length直接访问他们像一个int。

这个查询应该只检索投票> 0的_id和元信息

 Model.find({ "meta.votes" : { $gt : 0 } }, ['_id','meta']).exec(function(err, data) { callback(null, data); }); 

而这个查询应该只检索粉丝> 0的_id和元信息

 Model.find({ "meta.fans" : { $gt : 0 } }, ['_id','meta']).exec(function(err, data) { callback(null, data); }); 

你可以像这样把两个查询结合在一起:

 Model.find({ $or : [ { "meta.votes" : { $gt : 0 } }, { "meta.fans" : { $gt : 0 } } ] }, ['_id','meta']).exec(function(err, data) { callback(null, data); }); 

你应该看到如下所示的回报: { _id: 5001b3ce7cf4b534a3000002, meta: { votes: 1, fans: 1 } }