我有一个奇怪的mongoDB结构。不幸的是,我只是mongo的初学者,因此无法编写适当的查询来获取必要的值。
这是mongo示例:
{"save1":
{"date": "2019-05-05",
"data":[
{"data":{
"base_id":1,
"name": "name_1",
"rarity" : 7,
"gear": 12}
},
{"data":{
"base_id":2,
"name": "name_3",
"rarity" : 5,
"gear": 8}
},
{"data":{
"base_id":3,
"name": "name_3",
"rarity" : 2,
"gear": 10}
},
{"data":{
"base_id":4,
"name": "name_4",
"rarity" : 3,
"gear": 2}
}
]}
}
我需要“稀有性”和“齿轮”,base_id为3的情况
{“稀有度”:2,“齿轮”:10}
我想投影是可能的,但是因为我在save1.data中有一个数组,所以不知道该怎么做。
答案 0 :(得分:0)
尝试一下:
db.test.aggregate({$project: {"data": "$save1.data"}}, {$unwind: "$data"}, {$match: {"data.data.base_id": 3}})