Node.js 猫鼬嵌套文档
我想要的是只返回meta中的_id和数据(不是我的字段,但因为mongoose有这个主要示例): 所以,我没有特别寻找任何_id,我在寻找meta.vows.length>0或meta.fans.length>0的记录。目前我有:Node.js 猫鼬嵌套文档,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我想要的是只返回meta中的_id和数据(不是我的字段,但因为mongoose有这个主要示例): 所以,我没有特别寻找任何_id,我在寻找meta.vows.length>0或meta.fans.length>0的记录。目前我有: Model.find({},[''u id','meta'],函数(err,data){ 回调(空,数据); }); 我得到的记录没有/data/。我想不找到这些集合的另一种选择是过滤掉它们 编辑:我已通过以下方式临时解决了问题: use:{type:Boolean,
Model.find({},[''u id','meta'],函数(err,data){
回调(空,数据);
});代码>
我得到的记录没有/data/。我想不找到这些集合的另一种选择是过滤掉它们
编辑:我已通过以下方式临时解决了问题:
use:{type:Boolean,默认值:1},
虽然这可能是一个特性(显示和隐藏结果-例如旧数据),但我不认为这是一个解决方案./P>< P> >代码> meta >投票> <代码>和Meta > Meta。扇子< /代码>都只是数字对象,所以我不认为你想要<代码>元迷。长度只是直接访问它们,就像INT.
此查询应仅检索投票>0的_id和元信息
Model.find({ "meta.votes" : { $gt : 0 } }, ['_id','meta']).exec(function(err, data) {
callback(null, data);
});
这个查询应该只检索_id和fans>0的元信息
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);
});
您应该会看到这样的返回:{u id:5001b3ce7cf4b534a3000002,meta:{投票:1,粉丝:1}}