我在使用云数据库进行多表查询时,match一个参数是一个数组,我先是用控制台中用函数可查出结果。
db.collection('tea').aggregate()
.match(
{
status: _.eq('1'),
title: new db.RegExp({
regexp: '',
options: 'i',
}),
type: _.or([_.eq('1'), _.eq('2')])
}
)
使用云函数调用时,将数组元素循环出来组装。如下:
blogTypeMatch = blogTypeList.map(item => {
return _.eq(item)
})
searchParamMapch['type'] = _.or(blogTypeMatch)
}
db.collection('tea').aggregate()
.match(searchParamMapch)
...
成功获取到数据。
后来又尝试使用
_.in()
也能获取到。
已解决。业务逻辑上面出错。非api问题。
调试之后_or和_in都可行