mongoDB經過_id刪除doc

作項目遇到一個需求,須要根據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

相關文章
相關標籤/搜索