[英]Mongoose find is not working with query object
我正在用mongo db
學習node.js
。 我有一個代碼來獲取記錄並且工作正常
await studentModel.find({}, (err, data) => {
if (err) throw err;
students= data.map((d) => {
return new InterviewQuestion(d['roll_no'], d['name']);
});
});
但是當我想過濾它們時,查詢不會返回任何記錄
await studentModel.find({sClass: sClass}, (err, data) => { //sClassis a field in document and also the name of variable
if (err) throw err;
students= data.map((d) => {
return new InterviewQuestion(d['roll_no'], d['name']);
});
});
當您使用 async/await 時,不要使用回調並在 async/await 方法中使用 try/catch,這樣您就可以這樣做
try {
let data = await studentModel.find({});
students = data.map((d) => {
return new InterviewQuestion(d["roll_no"], d["name"]);
});
} catch (err) {
throw err;
}
try {
let data = await studentModel.find({ sClass: sClass });
students = data.map((d) => {
return new InterviewQuestion(d["roll_no"], d["name"]);
});
} catch (err) {
throw err;
}
這個查詢是正確的
await studentModel.find({ sClass: sClass })
你也可以試試這個:
await studentModel.find({ sClass})
你的問題來自另一件事,因為我測試了查詢每件事都可以
我為變量sClass
使用了不同的名稱,然后它起作用了。 我仍然想知道為什么不允許使用與文檔字段同名的過濾器變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.