我尝试使用MongoDB对多个搜索字符串进行搜索。
MongoDB上多个搜索字符串的规则
db.meals.find({mealName: /fish/, mealName: /rice/, mealName: /spicy/})
我面临的挑战是Javascript中的对象不能在同一个对象中拥有相同的键。
我试过这样做:
const str = "fish rice spicy";
const transform = (searchInput) => {
const searchField = {}
let searchArray = searchInput.split(" ");
searchArray = searchArray.map((item)=>{
const fixKey = "mealName";
searchField[fixKey] = new RegExp(item);
})
return searchField;
}
console.log(transform(str)); // {mealName: /spicy/}
在这种情况下
如何在Javascript中符合MongoDB多重搜索字符串的格式?
发布于 2020-10-28 03:29:36
只需像这样使用mongoDB
$in
const strArray = "fish rice spicy".split(" ");
db.meals.find({ mealName: {$in: strArray } })
它将获取mealName
将匹配任何strArray
项的所有记录。
https://stackoverflow.com/questions/64571734
复制