MongoDB查詢幫助 - 查詢子對象中任何鍵的值我想對此集合執行查詢,以確定哪些文檔具有與特定值匹配的任何鍵。這可能嗎?我有一組文件,如:{
"things": {
"thing1": "red",
"thing2": "blue",
"thing3": "green"
}}編輯:為了簡潔
3 回答

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
我建議更改架構,以便您可以在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" })
更改真的很簡單...,因為它將設置名稱和設置值移動到完全可索引的字段,并將設置列表存儲為數組。
如果您無法更改架構,但要注意它在性能方面基本上是最糟糕的情況,并且它不能有效地與索引一起使用。
- 3 回答
- 0 關注
- 699 瀏覽
添加回答
舉報
0/150
提交
取消