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()
請注意,聚合將返回一個數組而不是一個對象。
添加回答
舉報