python - 从满足条件的嵌套 MongoDocs 中获取价值
问题描述
我有一个有点奇怪的 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 中有一个数组,所以不知道该怎么做。
解决方案
试试这个:
db.test.aggregate({$project: {"data": "$save1.data"}}, {$unwind: "$data"}, {$match: {"data.data.base_id": 3}})
推荐阅读
- react-native - React redux - 将参数传递给 url - 错误 - 动作必须是普通对象
- reactjs - 检查输入长度时“重新渲染过多”
- node.js - 使用 connect-redis 和 redis-io 的会话持久性
- javascript - NextJS:香草 JavaScript,可能与否?
- c# - 如何在 C# 中重写基类构造函数
- python - Argparse 字典到命名空间
- java - 在Java中访问数组外循环的问题
- javascript - 如何在 Vue.js 中的某个索引处结束 for 循环
- reactjs - Antd Timepicker 从变量中设置 defaultValue
- android - 如何为 TextInputLayout 设置自定义错误背景