簡體   English   中英

如果可能,我如何以其他方式重命名貓鼬中的返回字段?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM