1
我想得到沒有_id字段的聚合管道的結果。我知道這是可能的,如果你明確提供其他字段將是投影的輸出。但是,我怎樣才能在查找電話中模擬$ projec?如何在不包含使用聚合框架的其他字段的情況下排除_id
這就是我想要的(沒有明確的領域包括):
db.col.find({},{_id:0})
但是在聚合框架似乎是不可能的:
db.col.aggregate([{'$project': {_id:0}}])
Error: Printing Stack Trace
at printStackTrace (src/mongo/shell/utils.js:37:15)
at DBCollection.aggregate (src/mongo/shell/collection.js:927:9)
at (shell):1:11
2013-10-07T16:36:09.273+0200 aggregate failed: {
"errmsg" : "exception: $projection requires at least one output field",
"code" : 16403,
"ok" : 0
} at src/mongo/shell/collection.js:928
任何想法來解決這個問題?
Mongodb 2.6將克服這些限制......「通過返回遊標,聚合管道可以返回任意大小的結果集」http://docs.mongodb.org/manual/release-note/2.6/ 我是嘗試2.5.2但仍然需要明確包含字段。很遺憾。 ( – crispamares
)當然,未來的版本可能會取消這些限制,但現在,這就是它的原因,聚合框架仍然適用於分組等,在這些情況下,返回許多字段通常沒有意義。 – WiredPrairie