Javascript “分隔数组的吃水线查询”;或;
我正在尝试获取一个sails后端REST调用,该调用检索“country”列或“subCountry”列与我拥有的数组匹配的项目。我试过: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条记录 看起来问题在于,我在每个
{
skip: 0,
where: {
or: [
{country: ['Argentina', 'Brasil']},
{subCountry: ['Argentina', 'Brasil']}
]
}
}
但它返回0条记录
看起来问题在于,我在每个“或”术语上都有一个隐含的“in”。
我正在查询mongo数据库。这不是一个“漂亮”的想法,但由于它基本上是一个具有较短符号形式的数据库,因此您仍然应该能够使用相同的长符号形式:
{
“何处”:{
“或”:[
{“国家”:“阿根廷”},
{“国家”:“巴西”},
{“次国家”:“阿根廷”},
{“次国家”:“巴西”}
]
}
}
或者,您可以只接受使用“本机”查询表单:
Model.native(函数(err,集合){
收集。查找({
“$or”:[
{“国家”:{“$in”:[“阿根廷”、“巴西”]},
{“次国家”:{“$in”:[“阿根廷”、“巴西”]},
]
}).toArray(函数(错误、文档){
});
});
既然查询表单本身没有问题,那么waterline是如何为MongoDB序列化它的。这里的答案有问题吗?很抱歉,我花了这么长时间才接受这个答案,我已经调整了我的js代码来进行OR扩展,效果很好!:)谢谢