最近做小程序云开发时,用到了一个数据库的模糊搜索功能,并且是要求多字段的模糊搜索。
网上也有一大堆资源,但是都是单个字段的搜索。如下图
上图只可以实现time字段的模糊搜索。但是我们如果相对数据表里的多个字段做模糊查询呢?该怎么办呢。
多字段模糊搜索
一,如我们的数据表里有以下数据,我们想同时模糊查询name和address字段
二,如我们搜索“编程”,可以搜索到下面数据
下面把代码贴给大家
let key = "编程小石头";
console.log("查询的内容", key)
const db = wx.cloud.database();
const _ = db.command
db.collection('qcl').where(_.or([{
name: db.RegExp({
regexp: '.*' + key,
options: 'i',
})
},
{
address: db.RegExp({
regexp: '.*' + key,
options: 'i',
})
}
])).get({
success: res => {
console.log(res)
},
fail: err => {
console.log(err)
}
})