javascript - 在字符串中查找数组中所有出现的元素

标签 javascript mongodb mongoose

我有类似于以下格式的文档:

img1

当用户执行搜索时,他们会向后端发送一个数组。该数组至少包含一个元素。

假设他们将 ['javascript'] 发送到后端。有没有办法查询 MongoDB 以找出包含单词 javascript 的文档?

我试过类似的东西,

db.find({ body: { $all:['javascript'] } });

但这只有在 body 也是一个数组时才有效。有什么办法可以做到这一点?

最佳答案

您可以对关键字列表使用竖线分隔正则表达式模式,如下所示:

const subStrings = ["javascript", "php", "python"];
const regex = subStrings.join("|");


 db.find ({
   body: { $regex: regex, $options: 'i' }
});

关于javascript - 在字符串中查找数组中所有出现的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56961264/

相关文章:

javascript - MissingSchemaError : Schema hasn't been registered for model

javascript - 找不到模块 : Can't resolve 'react-dom/lib/ReactPerf' in '\node_modules\react-addons-perf'

javascript - 如果源文件不存在,如何删除图像元素

mongodb - 特定字段作为 mongodb 的结果

mysql - 了解了有关 SQL 和 no-SQL 的所有知识后,存储树的最佳方式是什么?

node.js - 从 Mongoose 填充中获取非空数据

javascript - 映射对象内的映射对象

Javascript mailto 使用窗口打开

mongodb - 如何在 MongoDB 中重命名集合?

javascript - 如何根据字段是否存在对MongoDB集合进行排序