我想通過ID查找記錄,但它沒有得到做無法通過ID在貓鼬
var id = req.param('id');
var item = {
'_id': id
}
videos.find(item, function(error, response) {});
我給出一個有效的身份證件,但仍是不獲取查找記錄,任何人都可以提出幫助,請。
我想通過ID查找記錄,但它沒有得到做無法通過ID在貓鼬
var id = req.param('id');
var item = {
'_id': id
}
videos.find(item, function(error, response) {});
我給出一個有效的身份證件,但仍是不獲取查找記錄,任何人都可以提出幫助,請。
有一個提供給find()
的回調,但在上面的代碼中,它沒有可執行語句。取而代之的是:
videos.find(item, function(error, response) {});
...做這樣的事情:
videos.find(item, function(error, response) {
if (error) {
console.log(error); // replace with real error handling
return;
}
console.log(response); // replace with real data handling
});
你必須使用回調錯誤處理。和find()返回數組。如果你需要找到唯一的密鑰(在這種情況下_id)用戶必須使用findOne()
router.get('/GetVideoByID/:id',function(req,res){
var id = req.params.id;
var video = {
'_id' : id
}
videos.findOne(video,function(err,data){
if(err){
console.log(err);
}else{
console.log("Video found");
res.json(data);
}
});
});
當使用貓鼬模塊時,他們建議使用findById()而不是findOne()。你可以看看文檔http://mongoosejs.com/docs/api.html#model_Model.findById –
謝謝你糾正我@LukeKroon。但我想知道爲什麼要使用findById()而不是findOne()?這些查詢的執行時間有差異嗎? –
根據文檔findbyId()觸發findOne()掛鉤,除了它如何處理未定義,即findOne(undefined)返回一個任意文檔,findById(undefined)轉換爲不返回任何內容的findOne({_ id:null})。它的外觀非常安全。 :) –
您應該使用['findById'(http://mongoosejs.com/docs/api。 html#model_Model.findById)。 – str