1 回答
TA贡献1871条经验 获得超13个赞
您可以添加另一个电话:
var threadObject = await db
.collection("threads")
.findOne({ tabs: { $in: [ObjectId("5f2ad2ed59645244cc6a837a")] } });
var user = await db
.collection("users")
.findOne({ threads: threadObject._id });
threadObject.user_name = user.name;
...
或者您可以使用利用$lookup的聚合管道:
var threadObject = await db.collection("threads").aggregate([
{
$match: {
tabs: {$in: [ObjectId("5f2ad2ed59645244cc6a837a")]}
}
},
{
$lookup: {
from: "users",
localField: "_id",
foreignField: "threads",
as: "user"
}
},
{
$unwind: "$user"
},
{
$addFields: {
user_name: "$user.name"
}
},
{
$project: {
user: 0
}
}
]).toArray()
请注意,聚合将返回一个数组而不是一个对象。
添加回答
举报
