回答
有可能創造新的與給定的名稱和值從另一場$項目採取現場:
{
"_id" : 1,
title: "abc123",
isbn: "0001122223334",
author: { last: "zzz", first: "aaa" },
copies: 5
}
以下$項目階段增加了新的領域ISBN,姓氏和copiesSold:
db.books.aggregate(
[
{
$project: {
title: 1,
isbn: {
prefix: { $substr: [ "$isbn", 0, 3 ] },
group: { $substr: [ "$isbn", 3, 2 ] },
publisher: { $substr: [ "$isbn", 5, 4 ] },
title: { $substr: [ "$isbn", 9, 3 ] },
checkDigit: { $substr: [ "$isbn", 12, 1] }
},
lastName: "$author.last",
copiesSold: "$copies"
}
}
]
)
http://docs.mongodb.org/manual/reference/operator/aggregation/project/#pipe._S_project
我接受這個答案,因爲項目階段確實允許字段的「別名」。請參閱user1735921的答案,以獲取如何投影而不用修改原始字段值 – Fatmuemoo
您可以使用像TOUPPER或TOLOWER或CONCAT或者你覺得其他任何運營商任何運營商一樣,你認爲你能正常工作並創建一個別名。
示例: 在以下示例中,created_time是集合中的字段。 (我不擅長語法,所以你可以糾正它,但這是方法)
{$project {
"ALIAS_one" : {"$concat" : "$created_time"},
"ALIAS_two" : {"$concat" : "$created_time"},
"ALIAS_three" : {"$concat" : "$created_time"}
}}
因此,使用運營商在這時尚,您可以創建多達別名爲你喜歡。
有趣的示例。當這個問題被問到時,我不相信聚合管道已經回來了。我會指出,$ concat可以用於不操縱值 – Fatmuemoo
yeah concat會更好,反正我只是舉一個我想到的可能方式的例子...編輯我的帖子。雖然Andrey已經發布了MongoDB中已有的本地語法。它只是另一種可能的方式,有時在編寫複雜查詢時會派上用場。 – user1735921
- 1. 創建別名SQL服務器查詢
- 2. 在MongoDB中創建MapReduce查詢
- 3. 麻煩MongoDB中創建的查詢與子查詢
- 4. 創建具有MongoDB的查詢和MgO
- 5. 如何在db2中創建查詢範圍內的表別名?
- 6. 在Laravel Query Builder中創建一個子查詢別名
- 7. 建構數查詢MongoDB中
- 8. 爲MongoDB查詢結果創建表
- 9. mongodb聚合查詢無法創建
- 10. 我可以爲子查詢創建別名嗎,以便我可以在其他子查詢中使用別名?
- 11. 兩個區別mongodb查詢?
- 12. 創建別名
- 13. MongoDB的查詢/建模thougths
- 14. 如何在WHERE和ORDER查詢中的mongodb中創建索引?
- 15. Symfony查詢構建器和別名
- 16. MySQL查詢別名?
- 17. Bash別名查詢
- 18. 查詢DNS別名
- 19. 在emacs中創建別名?
- 20. 創建Java中的MongoDB的查詢與$或和$在
- 21. 從查詢創建數據集時,DBUnit會忽略列別名?
- 22. 無論如何在查詢搜索上創建別名?
- 23. Dosbox創建別名
- 24. 創建多個MongoDB中的春天數據彙總查詢
- 25. (問)用簡單的查詢php在mongodb中創建分頁?
- 26. 查詢的MongoDB中
- 27. MongoDB中的查詢
- 28. 查詢中的Mongodb $
- 29. MongoDB中的查詢
- 30. 查詢MongoDB中
這是你想要做的嗎? http://stackoverflow.com/questions/14751835/how-to-get-modified-json-output-from-mongodb-node-js-mongoose/14752107#14752107 – Plato