如何使用 Mongoose 查询过滤到在数组类型字段中具有指定值的文档?

西尔维博甘

我知道如何使用,Model.findOne但我希望将Mongoose 查询用于同一任务。

如何使用 Mongoose 查询来做到这一点?

所以我有这个旧代码:

Notification.find(
  {
    subscribers: user.id
  }
)
...

我正在研究这个替代代码:

const r = await Notification.find()
  .where("subscribers")
  .equals(user.id)
...

但我认为不适.equals用于这种情况,因为它subscribers是一个ObjectIds数组并且user.id是一个ObjectId基于字符串的字符串。

我搜索了官方 API 文档并没有找到答案。没有错误消息。

西尔维博甘

我找到Query.prototype.all方法现在代码如下所示:

const r = await Notification.find().where("subscribers").all([user.id]);
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Mongoose中,如何找到与给定查询值匹配的数组字段的最后一个元素的所有文档?

如何使用 mongoose 在 mongodb 中过滤数组?

使用Mongoose查找具有不同值的文档数组中的最后一个文档

如何使用 mongoose 查询 mongo 文档?

如何使用 Mongoose 更新 MongoDB 中的文档

如何使用 Mongoose 过滤列表中的对象?

如何使用Mongoose在MongoDB中查询“ any”?

如何指定字段是对象数组,数组对象在Mongoose中具有唯一但可选的属性之一?

如何使用Mongoose / MongoDB在数组中定义对象

如何使用 mongoose 更新 MongoDB 中的数组?

如何使用nestjs / mongoose在架构类中定义mongoose方法?

在MongoDB中创建文档时如何使用Mongoose指定_id字段?

如何使用Mongoose获取文档数量?

如何使用Mongoose从集合中删除所有文档?

如何使用Mongoose查询导入的json

使用Mongoose在MongoDB中查询引用的文档

如何使用Mongoose更新嵌套数组?

如何在Mongoose的数组字段中查找值不在其中的文档?

如何使用Mongoose访问现有集合?

如何在MongoDB / mongoose中交换具有唯一约束的文档上的字段?

deleteMany 与 Mongoose 使用数组

使用Mongoose更新数组中的子文档

如何使用Mongoose从集合中的所有文档中删除字段?

Mongoose 使用数组查询 ID

如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

如何从数组Mongoose输出值?

在 mongoose 查询中使用 UpdateMany 在字段中设置随机值

如何使用mongoose删除mongo文档中嵌套数组的所有元素?

如何使用 mongoose find 按内部数组过滤