gpt4 book ai didi

mongodb - Mongo 查找查询不适用于某些值。

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

我编写了一个包含 OR 运算符的 Mongo 搜索查询。它的 bool 表达式如下。

A 和(B 或 C)对于上面的表达式布局,如果 BC 之一为假,它将返回假。因此我的查询失败了。更具体的Mongo查询如下。

{ "fieldName" : { "regex" : "AB.*" },
"$and" : [[{"fieldName2" : "$in" : ["abc", "cds"]},
"$or" : [{"fieldName3" : "$in" : ["abc", "cds"]}]]
}

在上面的查询中,如果 fieldName2abc 之一或者 cdsfieldName3 没有任何一个,然后查询返回 false,尽管它在 OR 子句中。

那么有没有其他方法可以像在提到的表达式中那样实现此搜索查询,或者我在这里做错了什么。 ?

最佳答案

$and$or 对其数组值的内容应用 bool 运算。所以你的查询应该重写为:

{
"fieldName" : { "regex" : "AB.*" },
"$or": [{"fieldName2" : "$in" : ["abc", "cds"]},
{"fieldName3" : "$in" : ["abc", "cds"]}]
}

请注意,您甚至不需要在此处使用 $and,因为多个查询词是隐式与运算的。

关于mongodb - Mongo 查找查询不适用于某些值。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53055919/

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