【发布时间】: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