mongoose关于数组的查找方法
本文介绍了mongoose关于数组的查找方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
const arrayA = ["a", "b", "c"], // 假设这个数组的长度未知,所以从数组中一个一个提取出来查找不可行
const stringID = "idABC",
数据库中包含:
{
"_id" : ObjectId("5943516dbffce41e90cdbdaa"),
"ID" : "idABC",
"money" : 1.68,
"dataArray" : ["d"],
},
{
"_id" : ObjectId("5943516dbffce41e90cdbdab"),
"ID" : "oFx8b0",
"money" : 1.68,
"dataArray" : ["a"],
}
...
数据库查询条件:
数据库中ID是stringID
数据库中dataArray是arrayA中的某个值
条件1和条件2是或的关系
我的方法是: somethingModel.find({$or: [{location: {$each: userGroupList}}, {openid: openid}]})
结果是错误的写法,请问有没有能实现我说的条件的方法?
解决方案
分开查询,不要混在一起。
somethingModel.find(null, 'dataArray', (err, doc) => {
doc.map((v) => {
if (arrayA.includes(v)) {//满足条件2
//TODO:取出数据,后续操作
}
})
});
//满足条件1
somethingModel.find({ID:stringID }, (err, doc) => {
//TODO:取出数据,后续操作
});
这篇关于mongoose关于数组的查找方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文