簡體   English   中英

貓鼬嵌套文檔

[英]mongoose nested document

我想要的是僅在meta中返回_id和數據(不是我的字段,但是由於mongoose具有此主要示例): mongoose嵌入文檔doc

因此,我沒有特別尋找任何_id,而是正在尋找meta.votes.length> 0或meta.fans.length> 0的記錄。目前,我正在:

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

我沒有/ data /的記錄。 我猜不找到這些集合的替代方法是一種將它們過濾掉的方法?

編輯:我暫時解決了我的問題:

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

盡管這可能是一項功能(顯示和隱藏結果-例如舊數據),但我不認為這是/ solution /。

嗯, meta.votesmeta.fans都只是Number對象,所以我不認為您想要meta.fans.length像int一樣直接訪問它們。

此查詢應僅檢索_id和meta信息,以獲得投票> 0

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM