首页 > 解决方案 > 如何在 MongoDB 中查找包含搜索数组的一个或多个元素的文档?

问题描述

我在 MongoDB 中有一个数据库,这是它的示例集合。

[
  {
    id:123,
    name: "name1",
    likes: ["swim","run","walk"]
  },
  {
    id:123,
    name: "name1",
    likes: ["swim","hike","run"]
  },
  {
    id:123,
    name: "name1",
    likes: ["talk","run","sing"]
  }
]

然后我有另一个数组包含搜索关键字

["hike","talk"]

所以我需要这样的结果。

  {
    id:123,
    name: "name1",
    likes: ["swim","hike","run"]
  },
  {
    id:123,
    name: "name1",
    likes: ["talk","run","sing"]
  }

帮我解决这个问题。我使用猫鼬 ODM 和 express.js

标签: javascriptnode.jsmongodbexpressmongoose

解决方案


您可以使用$in运算符。文件

MyModel.find({likes : {$in : ['hike', 'talk']}}, (err, data) => {
  if (err) {
    console.log(err);
  } else {
    console.log(data);
  }
});


推荐阅读