我正在尝试查找收藏夹中的所有“名称”,但我不知道该怎么做。
例如,我尝试了很多不同的查询-
db.collectionname.find({“ customers”:{“ id”:1,“ name”:1}}
似乎没有任何作用。
以下是收藏中的相关部分:
{
"id" : 1,
"customers" : {
"id" : 1,
"name" : "ronald"
}
}
我收藏的其余部分基本上是相同的。我只需要获取所有名称的列表,例如在这种情况下的ronald。我不知道如何,将不胜感激!预先感谢。
答案 0 :(得分:0)
在这种情况下,您将需要使用聚合。 您需要对customer.name进行分组,并将每个名称放入一个数组中。
请参考此处:https://docs.mongodb.com/manual/reference/operator/aggregation/push/
或者如果仅需要唯一名称,请使用addToSet而不是push。
尝试一下:
db.collectionname.aggregate([{ $ group:{ _id:null, 名称:{ $ push:“ $ customers.name” } } } ])。pretty()
这将为您提供一个数组“名称”,其中所有名称都堆叠在一起。