我無法從 mongodb atlas 獲取特定資料
app.post('/profile', (req, res)=>{
let regNo = req.body.regNo;
let mobNo = req.body.mobNo;
let group = regNo.slice(6, 7);
console.log(regNo);
console.log(mobNo);
console.log(group);
if (group = "A") {
candidateGroupA.find({regnumber : regNo, mobnumber : mobNo}, function (err, data) {
console.log(data)
let name = data.name;
console.log(name);
});
}
});
當我使用 console.log(data) 時,它確實有效,但 console.log(data.name) 顯示未定義。
這些是我的貓鼬模式和模型
const candidateSchema = new mongoose.Schema({
regnumber : String,
group : String,
name : String,
gname : String,
gender : String,
dob: String,
institution : String,
location : String,
mobnumber : Number
});
const candidateGroupA = mongoose.model('candidateGroupA', candidateSchema);
uj5u.com熱心網友回復:
該find方法回傳一個陣列,因此您可以使用以下命令訪問資料的名稱data[0].name:
app.post('/profile', (req, res)=>{
let regNo = req.body.regNo;
let mobNo = req.body.mobNo;
let group = regNo.slice(6, 7);
console.log(regNo);
console.log(mobNo);
console.log(group);
if (group === "A") {
candidateGroupA.find({regnumber : regNo, mobnumber : mobNo}, function (err, data) {
if (err) {
console.log(err);
return;
}
console.log(data)
if (data.length > 0) {
let name = data[0].name;
console.log(name);
}
});
}
});
findOne如果需要檢索單個物件,可以使用:
candidateGroupA.findOne({regnumber : regNo, mobnumber : mobNo}, function (err, data) {
if (err) {
console.log(err);
return;
}
console.log(data)
let name = data.name;
console.log(name);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/503993.html
