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 關注
- 714 瀏覽
添加回答
舉報
0/150
提交
取消
