如何编写查询数组的mongo查询?

时间:2017-05-20 12:17:03

标签: mongodb mongodb-query database

假设我有一个存储以下数据的mongo数据库

String | Array
ID     | Data
100    | [Name: John, Age: 5]
100    | [Name: Lucy, Age: 5]
200    | [Name: Pete, Age: 5]
200    | [Name: Andy, Age: 5]
200    | [Name: Jimi, Age: 5]
300    | [Name: Raul, Age: 5]

如何查询数据库以向我提供数据中的所有ID及其现有名称。我希望结果只显示我需要的两列,如下所示:

{
    "ID" : "100", "Data" : [ "Name" : "John"]
    "ID" : "100", "Data" : [ "Name" : "Lucy"]
    "ID" : "200", "Data" : [ "Name" : "Pete"]
    "ID" : "200", "Data" : [ "Name" : "Andy"]
    "ID" : "200", "Data" : [ "Name" : "Jimi"]
    "ID" : "300", "Data" : [ "Name" : "Raul"]
}

1 个答案:

答案 0 :(得分:2)

db.collection_name.find(
   {},
   { "ID": 1, "Data.name": 1 }
)

它看起来不像是一个数组,它可能是一个对象。 您可以使用上面的查询,它将显示设置为1的列。