Javascript “分隔数组的吃水线查询”;或;

Javascript “分隔数组的吃水线查询”;或;,javascript,mongodb,sails.js,waterline,Javascript,Mongodb,Sails.js,Waterline,我正在尝试获取一个sails后端REST调用,该调用检索“country”列或“subCountry”列与我拥有的数组匹配的项目。我试过: { skip: 0, where: { or: [ {country: ['Argentina', 'Brasil']}, {subCountry: ['Argentina', 'Brasil']} ] } } 但它返回0条记录 看起来问题在于,我在每个

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

{
    skip: 0,
    where: {
        or: [
            {country: ['Argentina', 'Brasil']},
            {subCountry: ['Argentina', 'Brasil']}
        ]
    }
}
但它返回0条记录

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

这不是一个“漂亮”的想法,但由于它基本上是一个具有较短符号形式的数据库,因此您仍然应该能够使用相同的长符号形式:

{
“何处”:{
“或”:[
{“国家”:“阿根廷”},
{“国家”:“巴西”},
{“次国家”:“阿根廷”},
{“次国家”:“巴西”}
]
}
}
或者,您可以只接受使用“本机”查询表单:

Model.native(函数(err,集合){
收集。查找({
“$or”:[
{“国家”:{“$in”:[“阿根廷”、“巴西”]},
{“次国家”:{“$in”:[“阿根廷”、“巴西”]},
]
}).toArray(函数(错误、文档){
});
});

既然查询表单本身没有问题,那么waterline是如何为MongoDB序列化它的。

这里的答案有问题吗?很抱歉,我花了这么长时间才接受这个答案,我已经调整了我的js代码来进行OR扩展,效果很好!:)谢谢