我在用Node.js+Mongoose+MongoDB開(kāi)發(fā)一個(gè)小程序,其中有一個(gè)操作是這樣的:functionget(query){query=query||null;if(query===null){returnthis.model.find({},function(err,docs){returndocs;});}else{returnthis.model.find(query,function(err,docs){returndocs;}}}目標(biāo):get是我用來(lái)讀取Collection里面的文檔的,query是查詢(xún)條件,如果沒(méi)有傳入查詢(xún)條件,則返回整個(gè)Collection;如果傳入了查詢(xún)條件,則按條件查詢(xún)。錯(cuò)誤:因?yàn)閠his.model.find方法是異步的,在find返回查詢(xún)結(jié)果之前,get函數(shù)已經(jīng)return了,所以我總是得到undefined。請(qǐng)問(wèn)有什么辦法能讓get得到find的返回值嗎?
Node.js + Mongoose 讓 Model.find 方法同步執(zhí)行
縹緲止盈
2019-04-09 20:24:39