我用猫鼬运行了以下查询,查询成功
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字段是经过破坏的项目数组,而不是对象