繁体   English   中英

获取其属性等于数组中元素之一的所有文档

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM