作項目遇到一個需求,須要根據mongodb數據記錄裏面的_id字段刪除相應的docs,實際使用時發現直接以下使用mongodb
db.collection('infochanges').remove({"_id":idvalue}).then(function(){})
會報錯,這裏須要將idvalue轉換成mongodb默認的_id字段的objectid類型
因而,引入模塊(mongoDB3.6)ui
> var ObjectId = require('mongodb').ObjectID;//Work
其餘的mongoDB版本可嘗試code
> var ObjectId = require('mongodb').ObjectId;//Work
引用完成以後rem
> db.collection('infochanges').remove({"_id":{"_id":ObjectId(idvalue)}).then(function(){})
此時,你會發現並不能經過上述操做成功刪除數據,而是報錯:io
TypeError:Cannot convert undefined or null to object
重點:請使用findAndRemovefunction
db.collection('infochanges').findAndRemove({"_id":ObjectId(index)}).then(function(){})
經過_id刪除docs要用findAndRemove,remove不起做用(3.6版本)
但願能給各位遇到一樣問題的道友一些幫助,也請各位大神多多指點,輕噴。dva