mongoDB通过_id删除doc

做项目遇到一个需求,需要根据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

重点:请使用findAndRemove

 db.collection('infochanges').findAndRemove({"_id":ObjectId(index)}).then(function(){})

通过_id删除docs要用findAndRemove,remove不起作用(3.6版本)
希望能给各位遇到同样问题的道友一些帮助,也请各位大神多多指点,轻喷。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值