我正在尝试执行一个查询,以打印出所有在“ initialSelected”中等于2的“ x”值
使用x和y的不同值的值看起来像这样
"initialSelected" : {
"x" : 2,
"y" : 2
}
我可以使用
打印项目db.main.find({“ initialSelected”:{“ x”:2,“ y”:2}})。pretty()
但是当我删除“ y”时.. db.main.find({“ initialSelected”:{“ x”:2}})。pretty()
什么都不会打印
我考虑过让y的所有值的y值分别为$ lt和$ gt 0,因为它似乎需要解决,但是下面的简单查询也不会显示任何内容。
db.main.find({“ initialSelected”:{“ x”:2,“ y”:{$ eq:2}}})。count()
我想念什么?我是新来的。谢谢!
答案 0 :(得分:0)
对db.main.find({ "initialSelected" : { "x" : 2 } })
的查询将仅匹配initialSelected
字段与{ x: 2 }
精确匹配的文档(即没有y
字段)。
您需要使用dot notation来仅匹配x
字段:
db.main.find({ "initialSelected.x" : 2 })