gpt4 book ai didi

mongodb 在哈希字段上查询 $in

转载 作者:可可西里 更新时间:2023-11-01 09:58:09 25 4
gpt4 key购买 nike

我正在尝试进行查询以查找哈希字段中存在的值我的文档 enter image description here

我想检索在持续时间字段中包含 n11 和 n13 的文档。

我以为会是那样。

{
"durations" : { $in: ['n11','n12']}
}

但是没用

{
"durations" : { $in: [1,2,3,4,5,6,7,8,9]}
}

但在这两种情况下,我都没有执行查询的结果。

在此先感谢您的帮助我也试过用 key

最佳答案

The $in operator selects the documents where the value of a field equals any value in the specified array.

durations 不等于 12n11n12等。因此,这些查询中的任何一个都无法匹配文档。当您使用 $in 运算符时,它将仅匹配如下查询:

db.foo.find({
"durations" : {
"$in": [{"1" : "n3","2" : "n11", "3": "n12"}]
}
})

第二个查询可以这样重写:

db.foo.find({
$or: [{"durations.1": {$exists: true}}, {"durations.2": {$exists: true}}]
})

如果你想匹配单个值,你必须通过完整路径来匹配:

db.foo.find({
$or: [{"durations.1": "n3"}, {"durations.2": "n11"}]
})

如果想使用这样的查询: db.foo.find({"durations": { $in: ['n11','n12']}})

你需要类似这样的架构:

{
"_id" : ObjectId("527f7ad945cb10ba295df9fd"),
"durations" : [
"n3",
"n11",
"n12"
]
}

关于mongodb 在哈希字段上查询 $in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19889313/

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