【发布时间】:2015-06-18 05:26:04
【问题描述】:
假设我有一个插入一组文档,每个文档都有一个array 字段。我想找到所有文档,使得它们的 array 字段是查询数组的子集。例如,如果我有以下文件,
collection.insert([
{
'name': 'one',
'array': ['a', 'b', 'c']
},
{
'name': 'two',
'array': ['b', 'c', 'd']
},
{
'name': 'three',
'array': ['b', 'c']
}
])
并且我查询collection.find({'array': {'$superset': ['a', 'b', 'c']}),我希望看到文档one 和three 因为['a', 'b', 'c'] 和['b', 'c'] 都是['a', 'b', 'c'] 的子集。换句话说,我想做 Mongo 的 $all 查询的逆操作,它选择所有文档,使得查询数组是文档的 array 字段的子集。这可能吗?如果有,怎么做?
【问题讨论】:
-
恕我直言,您需要做一些聚合。
标签: mongodb