【问题标题】:Mongo query to find documents where any of the field's elements match any of the query param elementsMongo 查询以查找任何字段元素与任何查询参数元素匹配的文档
【发布时间】:2020-06-01 16:32:17
【问题描述】:

我已经搜索了文档和谷歌。也许我只是需要帮助来制定问题。

我有一个存储值数组的字段。为简单起见,我们将其称为“标签”。我希望能够搜索与我搜索的多个标签中的任何一个匹配的所有文档。换句话说,我想找到所有标记有至少一个(不一定是全部)这些标签的记录。这是一个例子。

文件:

{name: "My Thing 1", tags: ["cool", "important", "anothertag"]},
{name: "My Thing 2", tags: ["cool"]},
{name: "My Thing 3", tags: ["cool", "important"]}
{name: "My Thing 4", tags: ["important", "anothertag"]}
{name: "My Thing 5", tags: []}
{name: "My Thing 6", tags: ["anothertag"]}

查询: ["important", "cool"]

结果: 文档 1-4(不是 5-6)

【问题讨论】:

  • 这能回答你的问题吗? MongoDB select where in array of _id?
  • 您需要按照上面链接中的建议使用$in 运算符,它应该可以帮助您解决这个问题。
  • 我不认为是这样,因为我查询的字段本身就是一个数组,与该示例中的 _id 字段不同。
  • 如果应该可以,请您先试一试并告诉我们,仅供参考,我已经测试过相同的东西并且可以正常工作!
  • @whoami 嗯,它奏效了。我一定写错了我的测试查询,因为我以为我在发布之前尝试过 $in 。感谢您的信息和耐心!

标签: mongodb mongodb-query


【解决方案1】:

查看 whoami 的评论。 $in 可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-31
    • 1970-01-01
    相关资源
    最近更新 更多