首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Javascript对象中创建重复键以匹配MongoDB多个搜索字符串的规则?

如何在Javascript对象中创建重复键以匹配MongoDB多个搜索字符串的规则?
EN

Stack Overflow用户
提问于 2020-10-28 11:17:21
回答 1查看 18关注 0票数 0

我尝试使用MongoDB对多个搜索字符串进行搜索。

MongoDB上多个搜索字符串的规则

代码语言:javascript
代码运行次数:0
运行
复制
db.meals.find({mealName: /fish/, mealName: /rice/, mealName: /spicy/})

我面临的挑战是Javascript中的对象不能在同一个对象中拥有相同的键。

我试过这样做:

代码语言:javascript
代码运行次数:0
运行
复制
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多重搜索字符串的格式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-28 11:29:36

只需像这样使用mongoDB $in

代码语言:javascript
代码运行次数:0
运行
复制
const strArray = "fish rice spicy".split(" ");
db.meals.find({ mealName: {$in: strArray } })

它将获取mealName将匹配任何strArray项的所有记录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64571734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档