使用_.in 以数组中的所有字段为关键字,对数据库进行查询,但是不能使用正则表达式进行模糊查询,尝试通过for循环,将数组中的每一个字段单独模糊查询后,再将每一次查询结果进行拼接汇总后输出,但是又遇到for循环里有向数据库发起查询请求的异步申请,而导致最后的查询返回结果的数组拼接有问题。请教各位大神,应该怎么解决这个问题啊?
for (let index = 0; index < resKeyWord.length; index++) {
console.log('当前的keyWord是:',resKeyWord[index])
const legalTerms = db.collection('legalTerms').where({
keyWord:{
$regex:'.*'+ resKeyWord[index],
$options: 'i'
}
}).orderBy('checkNO', 'desc')
.get({
success(res) {
console.log('当前数组查询的返回值是:',res.data)
oldTest = oldTest.concat(res.data)
console.log('oldTest:',oldTest)
}
})
}
console.log('oldTest:',oldTest)
最后一行打印出的oldTest是空的,意味着for循环还没有执行完,就执行了最后一行的打印了,尝试了各种方法,都解决不了,感谢各位支招。
或者有没有什么方法直接支持对resKeyWord这个数组对每一个字段进行模糊查询?
时间不短了吧,第一次碰到异步吗,代码不是按顺序执行的,async await了解一下