如何在猫鼬中通过数组找到

  • 本文关键字:数组 node.js mongoose
  • 更新时间 :
  • 英文 :


我有一个会话模式,其中一个值是:participants:[]。它是一个用户字符串数组。

我想基于包含用户ID的数组来获取对话。现在我正在做这个:

const selectedConversation = await Conversation.find({
userIds: { $in: participants },
});

但问题是,它返回的第一个会话中至少有一个用户id匹配。

参与者数组看起来像这个["user id 1","user id 2","user id 3"],与userIds相同

有什么解决办法吗?

您需要将userId更改为架构中的id字段。很可能是_id。最终代码如下:

const selectedConversation = await Conversation.find({
_id: { $in: participants },
});

进一步阅读:https://www.mongodb.com/docs/manual/reference/operator/query/in/

最新更新