当前位置: 首页 > 知识库问答 >
问题:

MongoDB查询帮助-查询子对象中任意键的值

柳飞鸾
2023-03-14
{
    "things": {
        "thing1": "red",
        "thing2": "blue",
        "thing3": "green"
    }
}

共有1个答案

通学真
2023-03-14

我建议更改模式,这样您就可以在MongoDB中进行合理的查询。

来自:

{
    "userId": "12347",
    "settings": {
        "SettingA": "blue",
        "SettingB": "blue",
        "SettingC": "green"
    }
}

致:

{
    "userId": "12347",
    "settings": [
        { name: "SettingA", value: "blue" },
        { name: "SettingB", value: "blue" },
        { name: "SettingC", value: "green" }
    ]    
}
db.settings.ensureIndex({ "settings.value" : 1})

db.settings.find({ "settings.value" : "blue" })
 类似资料:
  • 问题内容: 我正试图消除我的SQL技能,并需要以下查询的帮助。我当前使用的数据库是mysql。 我想检索所有同时分配了’tag2’和’tag4’的抽认卡。根据现有表的内容(如以下摘录所示),查询应返回两行:FlashCard_ID 1和2。 我将如何制定此查询?自从我不得不做这样的事情已经有一段时间了。 问题答案:

  • 我有3张桌子 许可证中的CREATED_AT是一个日期(非空)字段。 表根据同名主键/外键进行关联;客户可以拥有0个或多个许可证,每个许可证都有一个版本。 我想从这些表格中得到: 客户的名字、姓氏和创建的最后一个许可证的release\u id(根据许可证中的created\u AT字段查找最后一个),如果有。 对于这个问题,我使用了以下查询: 这似乎有效,但我问是否有人可以证实我这一点,或者是否

  • 在使用Mongoose查询数组时,我很难得到我期望看到的内容。一个用户可以有许多与他/她的帐户相关联的房间。room对象存储在集合中附加到用户的数组中。只有一个集合叫做Users。 请考虑以下user和Room的两个架构: 我还应该指出,数据库是填充的,因为我可以看到RoboMongo中的数组(在创建用户帐户时创建了1个元素)。 正在填充从控制台输出到show database的示例数据(包括us

  •   如欲对系统中各运行支持库内的命令、库定义数据类型、库定义常量等等信息进行查找,请在易系统启动后使用以下方法之一: 直接在工作夹内的支持库夹中单击对应的所欲查找其信息的项目,此时所有的相关信息将会显示在系统的提示夹或者状态行中,如下图,光标处; 如果欲将这些信息提取出来打印或者以后阅读,请在相应项目上单击鼠标右键,在所弹出的菜单中选择“拷贝帮助文本到剪贴板”或者“写帮助文本到文件”功能输出与该项

  • 我有一个相当于: 我希望执行一个查询,返回任何文档,这些文档对于嵌套在中的任何键都具有具有特定值的键。类似于: 将检索两个文件。