回答
有可能创造新的与给定的名称和值从另一场$项目采取现场:
{
"_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. Envers NHibernate - 在查询中创建别名
- 2. 在MongoDB中创建MapReduce查询
- 3. 麻烦MongoDB中创建的查询与子查询
- 4. 在Laravel Query Builder中创建一个子查询别名
- 5. 我可以为子查询创建别名吗,以便我可以在其他子查询中使用别名?
- 6. 如何在WHERE和ORDER查询中的mongodb中创建索引?
- 7. 查询DNS别名
- 8. MySQL查询别名?
- 9. 在emacs中创建别名?
- 10. 从查询创建数据集时,DBUnit会忽略列别名?
- 11. MongoDB中的查询
- 12. 查询的MongoDB中
- 13. 查询MongoDB中
- 14. 查询MongoDB中
- 15. Dosbox创建别名
- 16. 的Oracle 11g别名查询
- 17. 如何将两个别名添加到通过MySql查询创建的表中?
- 18. 使用子查询创建视图,带有ORACLE 9i中列的别名!
- 19. RavenDB在Java中的查询别名
- 20. jpql查询中列的别名
- 21. 使用子查询中的别名
- 22. MongoDB的不断查询命名空间
- 23. MongoDB的查询
- 24. 如何在SQL中创建视图为列名创建别名?
- 25. 创建多个动态物体的NodeJS查询MongoDB的
- 26. 在MongoDb中查询
- 27. $ elementMatch查询MongoDB中
- 28. 创建LINQ中使用别名的SelectMany
- 29. 如何在Django模型中为外键字段创建可查询别名?
- 30. 与子查询别名
这是你想要做的吗? http://stackoverflow.com/questions/14751835/how-to-get-modified-json-output-from-mongodb-node-js-mongoose/14752107#14752107 – Plato