3

做项目遇到一个需求,需要根据 mongodb 数据记录里面的_id字段删除相应的docs,实际使用时发现直接如下使用

 db.collection('infochanges').remove({"_id":idvalue}).then(function(){})

会报错,这里需要将idvalue转换成mongodb默认的_id字段的objectid类型
于是,引入模块(mongoDB3.6)

> var ObjectId = require('mongodb').ObjectID;//Work

其他的mongoDB版本可尝试

> var ObjectId = require('mongodb').ObjectId;//Work

引用完成之后

> db.collection('infochanges').remove({"_id":{"_id":ObjectId(idvalue)}).then(function(){})

此时,你会发现并不能通过上述操作成功删除数据,而是报错:

 TypeError:Cannot convert undefined or null to object