我正在嘗試加入兩個貓鼬集合并使用我在下面提到的查詢獲取所有相關詳細資訊。問題是employee collection當我打電話時我只得到一個表詳細資訊而不能得到兩個集合詳細資訊GetEmployeeDetails(emp_id)。需要一個建議。如何在一個查詢中獲取兩個集合資料。
const EmployeeInfoSchema = mongoose.Schema({
employee_id: String,
client_id: {
type: Schema.Types.Number,
ref: "client",
},
email: String,
contact: String,
});
const ClientInfoSchema = mongoose.Schema({
client_id: Number,
employee_id: {
type: Schema.Types.String,
ref: "employee",
},
project: String,
organization: String,
});
let employeeInfo = mongoose.model("employee", EmployeeInfoSchema);
let clientInfo = mongoose.model("client", ClientInfoSchema);
module.exports = { employeeInfo, clientInfo };
詢問
async function GetEmployeeDetails(emp_id) {
let employee_info = await Storage.employeeInfo
.find()
.where({ employee_id: emp_id })
.populate({
path: "client",
})
.exec(function (err, block) {
if (err) {
console.log("%s", err);
}
console.log("Employee details is %s", employee_info);
});
return employee_info;
}
uj5u.com熱心網友回復:
嘗試GetEmployeeDetails像這樣更改您的方法:
async function GetEmployeeDetails(emp_id) {
try {
let employee_info = await Storage.employeeInfo
.find({ employee_id: emp_id })
.populate('client')
.exec(function (err, block) {
if (err) console.log('%s', err);
else console.log('Employee details is %s', employee_info);
});
return employee_info;
} catch (err) {
res.status(400).send('Error getting details');
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470252.html
上一篇:是否有特定的方法可以使用mongoose在javascript中為mongodb執行if-else陳述句?
下一篇:MongoDB類似陣列查詢
