你好嗎? 我對貓鼬和mongoDB相當陌生,而且在做基本查詢時遇到了麻煩。所以,我有這樣的代碼:貓鼬:正確得到查詢結果
function addVoterToElection(req, res) {
let query = Election.findOne({ 'name' : req.body.electionName });
let result = query.exec((err, election) => {
if(err) return err;
return res.send(election);
});
}
的作品如預期,因爲T發送選我需要返回給請求者:
{
"_id": "594408b7c94fcdc009000001",
"votechain": "594408b7c94fcdc009000002",
"name": "eleicaoteste",
"electionID": 12,
"__v": 0,
"voters": null
}
但問題是,我需要使用對象其他目的,而且我在從query.exec中「提取」它時遇到了麻煩。如果我做
let query = Election.findOne({ 'name' : req.body.electionName });
let result = query.exec((err, election) => {
if(err) return err;
return (election);
});
res.json(result);
所有我得到的回覆是
{
"emitted": {},
"ended": false,
"_events": {},
"_eventsCount": 2
}
,因此我不能用它來依賴於具有本次選舉對象的工作下一個查詢。我能做什麼?我知道這是一個相當基本的問題,但我不確定我是否理解整個承諾是如何工作的。 非常感謝!
雖然接受的答案是正確的,我發現使用「異步」模塊,您可以達到所需的結果,如此答案中所述: https://stackoverflow.com/a/5165153/4148031 –