Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 猫鼬嵌套文档_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 猫鼬嵌套文档

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,

我想要的是只返回meta中的_id和数据(不是我的字段,但因为mongoose有这个主要示例):

所以,我没有特别寻找任何_id,我在寻找meta.vows.length>0或meta.fans.length>0的记录。目前我有:

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}}