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

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

我想对此集合执行查询,以确定哪些文档具有与特定值匹配的任何键。这可能吗?

我有一组文件,如:

{
    "things": {
        "thing1": "red",
        "thing2": "blue",
        "thing3": "green"
    }}


慕运维8079593
浏览 3809回答 3
3回答

慕后森

我建议更改架构,以便您可以在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" }     ]    }然后,您可以索引"settings.value",并执行如下查询:db.settings.ensureIndex({ "settings.value" : 1})db.settings.find({ "settings.value" : "blue" })更改真的很简单...,因为它将设置名称和设置值移动到完全可索引的字段,并将设置列表存储为数组。如果您无法更改架构,但要注意它在性能方面基本上是最糟糕的情况,并且它不能有效地与索引一起使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MongoDB