我正在构建一个表单,用于根据输入的文本过滤数据库条目。它可用于搜索数据库条目的名称,但是如何使它也搜索条目的描述,但是如果没有匹配项,那么它将被忽略?
例如Database.find({name:searchText,desc:searchText})。fetch(); // searchText是一个正则表达式对象
我想返回在name和desc中包含searchText的所有内容,但是如果desc不匹配,我仍然想返回与name匹配的内容。
尝试这样做而不创建新查询是不必要的,是否缺少我想输入的可选参数?
我希望这是有道理的。谢谢
答案 0 :(得分:0)
最终使用for循环对其进行了修复。
let a = Database.find({name: searchText}).fetch();
let b = Database.find({desc: searchText}).fetch();
for(let c in b){
a.push(b[c])
}
return b;
以防万一有人遇到类似问题。 如果有更好的解决方案,请仍然回答!
答案 1 :(得分:0)
为什么不使用OR运算符?对我来说,这足以满足您的要求。