gpt4 book ai didi

javascript - 分隔数组的水线查询 "OR"

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

我正在尝试获取一个 sails 后端 REST 调用,该调用检索“国家”列或“子国家”列与我拥有的数组匹配的项目。我试过:

{
skip: 0,
where: {
or: [
{country: ['Argentina', 'Brasil']},
{subCountry: ['Argentina', 'Brasil']}
]
}
}

但它返回 0 条记录。

看起来问题是我在每个“或”项上都有一个隐含的“in”。我正在查询 mongo 数据库。

最佳答案

这不是一个“漂亮”的想法,但由于 $in基本上是一个 $or使用较短的符号形式,您仍然应该能够使用相同的长符号形式:

{
"where": {
"or": [
{ "country": "Argentina" },
{ "country": "Brasil" },
{ "subCountry": "Argentina" },
{ "subCountry": "Brasil" }
]
}
}

或者,您也可以只接受使用“ native ”查询表单:

Model.native(function(err,collection) {
collection.find({
"$or": [
{ "country": { "$in": [ "Argentina", "Brasil" ] } },
{ "subCountry": { "$in": [ "Argentina", "Brasil" ] } },
]
}).toArray(function(err,docs) {

});
});

由于该查询表单本身没有任何问题,所以它是如何通过水线为 MongoDB 序列化的。

关于javascript - 分隔数组的水线查询 "OR",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31282039/

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