我想使用聚合框架來組合很多字符串來識別唯一的字符串。我還必須保留一些關於其他領域的信息。這可能類似於我在一個group by語句中使用mysql中的*運算符。MongoDB,通過聚合框架使用組來獲得唯一的字符串
SELECT *
FROM my_table
GROUP BY field1
我已經嘗試過使用聚合框架,它工作得很好,只是爲了獲得唯一的字段。
db.mycollection.aggregate({
$group : { _id : "$field1"}
})
如果我想要其他字段,那該怎麼辦? MySQL只會給我第一個出現在組中的(我很好)。那就是我認爲的第一個運營商所做的。
db.mycollection.aggregate({
$group : {
_id : "$field1",
another_field : {$first : "$field2"}
}})
這樣它按字段1進行分組,但仍然使我回到附加到文檔的其他字段。當我嘗試這個,我得到:
exception: aggregation result exceeds maximum document size (16MB)
我有一種感覺是因爲它是作爲一個文件返回整個聚合。我可以將它作爲另一個json數組返回嗎?
在此先感謝
http://stackoverflow.com/questions/15307800/mongodb-single-document-size-limit-is-16mb –