gpt4 book ai didi

node.js - 为mongoose查找查询结果添加一个字段

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:47 28 4
gpt4 key购买 nike

我在 Mongoose 中有这个员工模式:

employeesSchema = mongoose.Schema({
id: {
type: Number,
required: true
},
firstName: String,
lastName: String,
title: String,
managerId: {
type:Number,
required: false
},
managerName: {
type: String,
required: false
},
phone: String,
mobilePhone: String,
email: String,
picture: String,
});

我有寻找员工的功能:

module.exports.getEmployeeById = function(id, callback){

Employee.find({ {id: id} }, callback);

}

但是我想在结果中除了我的架构的所有字段之外还有一个字段,该字段是具有 managerId:id 的员工(该员工下面的员工)的数组。

谢谢

最佳答案

您可以使用$lookup 管道运算符进行“自加入”,并让具有此 id 的员工作为他们的经理(在名为 subscribeds 的数组中),如下所示: p>

module.exports.getEmployeeById = function(id, callback){

Employee.aggregate([
{ "$match": { id: id } },
{
"$lookup": {
"from": "employees",
"localField": "id",
"foreignField": "managerId",
"as": "subordinates"
}
}
]).exec(callback);

}

关于node.js - 为mongoose查找查询结果添加一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43600176/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com