[英]how do i,if possible, other ways, rename a returned field in mongoose?
我有這個查詢:
MessageModel.find({ conversationId: { $in: ids } })
.sort({createdAt: 'ascending'})
.populate({ path: 'receiver', select: '_id' })
.populate({ path: 'sender', select: '_id' });
reveicer 和 sender 會返回相同的 id 字段嗎? 我想將_id 重命名為相關的receiverId 和senderId?
我建議使用$lookup而不是填充
MessageModel.aggregate({$match:{ conversationId: { $in: ids } }},
{$lookup: {
from: 'receiver',
localField:'receiver',
foreignField: '_id',
as: 'receiver'
}},
{$unwind:'$receiver'},
{$lookup: {
from: 'sender',
localField:'sender',
foreignField: '_id',
as: 'sender'
}},
{$unwind:'$sender'}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.