let result = await db.collection('social-dynamic')
.aggregate()
.match({
_id: id
})
.lookup({
from: 'social-user',
localField: 'openid', //<输入记录的要进行相等匹配的字段>,
foreignField: 'openid', //<被连接集合的要进行相等匹配的字段>,
as: 'userInfo', //<输出的数组字段名>
})
.addFields({
userInfo: $.arrayElemAt(['$userInfo', 0])
})
.project({
_id: 1,
_createTime: 1,
imgUrls: 1,
imgs: 1,
openid:1,
text: 1,
userInfo:1
})
.end()
想要结果
1、再unwind一下即可;
2、list居然是个对象吗?啥时候它也应该是个数组啊。要不别叫list,要不就第一种。let user = list[0]不香吗?