猫鼬聚合后如何将数组中的对象转换为项目数组

时间:2020-03-26 16:21:53

标签: node.js mongodb mongoose destructuring

我用猫鼬运行了以下查询,查询成功

        const recmessages = await messages.aggregate([
        {
          $match: {
            conversationId: {
              $in: mapedId
            }
          }
        },
        {
          $sort: {
            time: -1
          }
        },
        {
          $group: {
            _id: "$conversationId",
            messages: {
              $push: "$$ROOT"
            }
          }
        },
        {
          $project: {
            messages: {
              $slice: [
                "$messages",
                5
              ]
            }
          }
        }
      ])

但是返回的数据具有以下格式。如果我使用{$ unwind:$ messages},则返回的消息数组不再是对象,而是消息不再是数组。

[ { _id: 5e7bb66d99aa010ca9bfeed9,
messages: [ [Object], [Object], [Object], [Object] ] },

{ _id: 5e7ba776c55fc40b216b0d12,
messages: [ [Object], [Object], [Object], [Object] ] } ]

我的问题是如何以相同的查询结果结束,而message字段是经过破坏的项目数组,而不是对象

0 个答案:

没有答案