如何在MongoDB查找查询中使用别名

时间:2016-10-18 12:29:16

标签: mongodb

我们如何在mongodb的find方法中使用别名,就像我们在mySQL中一样:

select user_id as id from users

请提供一些帮助,谢谢!

2 个答案:

答案 0 :(得分:6)

请参阅聚合管道:Project

以下查询应该完成这项工作:

db.users.aggregate([{$project:{id:"$user_id"}}])

答案 1 :(得分:2)

您可以将mongodb聚合方法与管道阶段一起使用以获得所需的结果: list of stages

例如。 :

db.[collection].aggregate(pipeline)

管道包含不同的阶段:

pipeline = [{match,projection,...}]

还有其他部分也分阶段,请参阅上述链接。

在你的情况下,我可以写下面的查询:

db.users.aggregate([{$match:{"_id":"<some_value>"}},{$project:{id:"$user_id", default_key:"default_value", "excluded_key": 0, "included_key": 1}}])

$ match:{“_ id”:“”}} - &gt;这是匹配查询,其输出将在下一阶段执行。例如。在我们的案例中投资$。

id:“$ user_id” - &gt;在这种情况下,我们将id作为别名给予mongo-db collection中的user_id键。

default_key:“default_value” - &gt;在这种情况下,default_key字段将添加到响应中,并提供默认值来代替“default_value”。

“excluded_key”:0 - &gt;在这种情况下,excluded_key将从响应中删除。

“included_key”:1 - &gt;在这种情况下,included_key将成为响应的一部分。