我正在尝试在我的收藏夹中查找数字值大于x数量的文档。该文档说明了如何对顶级值执行此操作,但是我正努力为子对象内的值检索正确的数据。
示例JSON
{
"_id" : ObjectId("5c32646c9f3315c3e8300673"),
"key" : "20190107",
"__v" : 0,
"chart" : [
{
"_id" : ObjectId("5c3372e5c35e924984f28e03"),
"volume" : "0",
"close" : "47.24",
"time" : "09:30 AM"
},
{
"_id" : ObjectId("5c3372e5c35e924984f28d34"),
"volume" : "50",
"close" : "44.24",
"time" : "09:50 AM"
}
]
}
我想检索大于10的卷
db.symbols.find({"chart.volume": { $gt: 10 } } )
db.symbols.find({"volume": { $gt: 10 } } )
任何帮助表示赞赏。
答案 0 :(得分:0)
您的示例JSON具有chart.volume
字段的字符串值。如果是数字,则您的第一个解决方案:
db.symbols.find({“ chart.volume”:{$ gt:10}})
可以正常工作。 docs会说明如何执行此操作。