【发布时间】:2014-11-23 08:53:26
【问题描述】:
我有一个看起来像这样的文档
{
"field1":"value1",
"field2":{"unknown_key1":"value2",
"unknown_key2":"value3",
...
"unknown_keyN":"valueN"}
}
还有一个数组("arr1","arr2","arr3")
我想查询以查找所有未知键都在我的数组定义的集合中的所有文档,除了这些键的数量 N 并且它们的值未知。这在 Mongodb 中是否可行,如果可以,我将如何去做。
【问题讨论】:
-
你的数组是否包含这个数组("unknown_key1","unknown_key2",....,""unknown_keyN")?
-
没有我的数组包含其他键 我想查找所有未知键都是数组中其他键之一的所有文档
-
这意味着数组中存在一些未知键对吗?
-
我试图查询它们是否在数组中,我不知道它们是否一定
-
将数据用作键或具有“未知”键是糟糕的数据建模。或者,您可以将每个 unknown_key、值对变成一个对象
{ "key" : "unknown_key", "value" : "value" }并让field2成为这些对象的数组。在这种情况下,您应该查看this old SO answer 来解决您的问题。