0
我在robots.remove上發現一個錯誤,指出機器人沒有定義,但我無法弄清楚爲什麼。請幫忙。謝謝。用mongodb和mongoose中的id移除一個對象
mongoose.connect('mongodb://localhost/robots'); //connecting to localdb
router.delete('/:id', function(req,res){
var id = req.params.id;
console.log(id);
robots.remove({_id:ObjectId(id)}, function(err, result){ //undefined??
if (err) return res.status(500).send({err: 'Error: Could not delete robot'});
if(!result) return res.status(400).send({err: 'Robot bot deleted from firebase database'});
console.log('deleted!!!');
res.send(result);
});
});
那麼它是一個非常consice錯誤,因爲我並不需要'robots'是「申報」的任何地方。當然你有更多的代碼。你應該調用類似'robots = mongoose.model(「robots」)'的東西,並且在初始聲明該模型之後。 –
我確實有一個模型,其中包含一個模式,但我可以在哪裏聲明它,以便它鏈接到我的數據庫,我不準確地知道我可以在路徑或服務器上聲明我的數據庫的位置。 –
首先你需要「聲明」模型,你看起來已經有了某個地方。但是這裏的具體問題是,你已經在另一個模塊中聲明瞭這個,因此「必須」要求該模塊導入模型定義,或者再次調用'mongoose.model'「」,使用與你的本地範圍。報告的錯誤是因爲它們沒有在本地作用域中聲明的對象。 –