gpt4 book ai didi

mongodb - 在MongoDB中查找文档,该文档的数组字段是查询数组的子集

转载 作者:行者123 更新时间:2023-12-01 13:28:29 24 4
gpt4 key购买 nike

假设我有一组文档,每个文档都有一个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']}),我希望看到 onethree文档,因为 ['a', 'b', 'c']['b', 'c']都是 ['a', 'b', 'c']的子集。换句话说,我想进行Mongo的 $all查询的逆操作,该查询选择所有文档,以便查询数组是文档 array字段的子集。这可能吗?如果是这样,怎么办?

最佳答案

在MongoDb中,对于数组字段:

"$in:[...]" means "intersection" or "any element in",
"$all:[...]" means "subset" or "contain",
"$elemMatch:{...}" means "any element match"
"$not:{$elemMatch:{$nin:[...]}}" means "superset" or "in"

关于mongodb - 在MongoDB中查找文档,该文档的数组字段是查询数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16109351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com