![](/img/trans.png)
[英]Mongoose - find all documents whose array property contains a given subset?
[英]Get all documents whose property equals one of the elements in an array
我有一个 Post model 在其架构中定义了publisher
者属性(我使用的是 Mongoose)。 publisher
者属性是一个引用发布者名称的字符串。
我还有一个名为sourceNames
的数组,其中包含所有不同的发布者名称。 我想在我的数据库中查询其publisher
者与sourceName
中的任何一个数组元素匹配的所有帖子。 我当前的查询如下所示:
const query = postModel
.find({ publisher: { $all: sourceNames } })
.limit(limit)
.skip(startIndex);
当我执行它时,我的查询没有返回任何内容。 有谁知道我正在尝试做的事情是否可以在单个查询中进行(而不是遍历sourceNames
并为每个单独的元素进行查询?
短的
只需将$all
替换为$in
解释
$all
正在尝试将数组与数组中的所有元素进行匹配。
$in
相反,尝试将字符串或数组与数组中的一个匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.