0
中的項目數,我想返回一個嵌入式集合的計數查詢在MongoDB中。查詢返回的MongoDB嵌入式收集
說我有一個名爲型材
var ProfileSchema = new Schema({
uname: {
type: String,
required: true,
index: true,
unique: true
},
fname: String,
lname: String,
posts: [ObjectId]
});
我如何可以查詢它讓我選擇UNAME,框架,跛腳,posts.length收藏?我不想通過網絡返回帖子集合,因爲用戶可以擁有數百個帖子。我是否應該在配置文件模式中嵌入帖子ID?也許我應該擺脫它,因爲已經有一個職位定義的另一個集合,所以我基本上是用Profile.posts爲外鍵的嵌入式集合。
可以組由uname和精簡函數的集合,你可以指望的帖子對象。小心,因爲小組受到鑰匙的限制。如果此限制是交易斷路器,則可以使用映射縮減。 – peshkira
嗯你的意思是在一個地圖reduce函數中我可以把reduce函數放入或定期查詢。理想情況下,做db.profiles.find會很好({uname:'mike'},{posts.length:1}) – MonkeyBonkey
不,在組函數中可以有一個reduce函數。下面是一個例子,他們實現計數與組:http://www.mongodb.org/display/DOCS/Aggregation#Aggregation-Group – peshkira