Mongodb 如何在给定条件下求精确数组

Mongodb 如何在给定条件下求精确数组,mongodb,Mongodb,假设我有一份文件 { _id: 5e53c14c561efe357053a818, convoId: 5e53c14c561efe357053a816, message: [ { isRead: true, createdAt: 2020-02-24T12:27:56.085Z, _id: 5e53c14c561efe357053a819, senderId: 5e4e50a5ae51b02f08f174eb, recieve

假设我有一份文件

{ _id: 5e53c14c561efe357053a818,
  convoId: 5e53c14c561efe357053a816,
  message:
   [ { isRead: true,
       createdAt: 2020-02-24T12:27:56.085Z,
       _id: 5e53c14c561efe357053a819,
       senderId: 5e4e50a5ae51b02f08f174eb,
       recieverId: 5e4ae76bd4e24418a020b665,
       body: 'hiii' },
     { isRead: true,
       createdAt: 2020-02-24T12:29:12.333Z,
       _id: 5e53c198561efe357053a81c,
       senderId: 5e4e50a5ae51b02f08f174eb,
       recieverId: 5e4ae76bd4e24418a020b665,
       body: 'jawab de' },
     { isRead: true,
       createdAt: 2020-02-24T15:17:12.954Z,
       _id: 5e53e8f8d22dd714ac7f1ee1,
       senderId: 5e4e50a5ae51b02f08f174eb,
       recieverId: 5e4ae76bd4e24418a020b665,
       body: 'hi again' },
     { isRead: true,
       createdAt: 2020-02-25T21:07:15.695Z,
       _id: 5e558c8367d9d61e2c52d0db,
       senderId: 5e4ae76bd4e24418a020b665,
       recieverId: 5e4e50a5ae51b02f08f174eb,
       body: 'whats up??' },
     { isRead: true,
       createdAt: 2020-02-25T21:11:20.653Z,
       _id: 5e558d7867d9d61e2c52d0dc,
       senderId: 5e4ae76bd4e24418a020b665,
       recieverId: 5e4e50a5ae51b02f08f174eb,
       body: 'yoyoy' },
     { isRead: false,
       createdAt: 2020-02-25T21:12:30.743Z,
       _id: 5e558dbe67d9d61e2c52d0dd,
       senderId: 5e4e50a5ae51b02f08f174eb,
       recieverId: 5e4ae76bd4e24418a020b665,
       body: 'nothing much' } ],
  __v: 0 }

我想要一个数组,senderId等于5e4e50a5ae51b02f08f174eb 这里是我到目前为止所做的

const message = await Message.findOne({
    "message.senderId": "5e4e50a5ae51b02f08f174eb",
  });
但是我得到的结果基本上是我只想用这个senderId过滤消息数组

我也可以这样做

const updatedMessage = message.message.filter(msg => {
      return msg.senderId == "5e4e50a5ae51b02f08f174eb"
  })

但我想知道还有其他方法吗???

这能回答你的问题吗?我使用$elemMatch备份@whoami。