首页 > 解决方案 > 嵌入式 mongoDB 打印/查询的问题

问题描述

我正在尝试执行一个查询,打印出在“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()

我错过了什么?我是新来的。谢谢!

标签: mongodb-query

解决方案


的查询db.main.find({ "initialSelected" : { "x" : 2 } })将仅匹配其initialSelected字段完全匹配的文档{ x: 2 }(即没有y字段)。

您需要使用点符号来匹配x字段:

db.main.find({ "initialSelected.x" : 2 })

推荐阅读