MongoDB对象不会从数据库中删除

时间:2017-08-11 15:28:42

标签: javascript node.js mongodb

我试图根据_id从我的mongoDb数据库中删除一些东西。在我的控制台中,我不断收到行正在删除的消息,但是当我检查数据库时,该对象仍然存在。

这是我的功能:

     function deleteById(){
//5989df87e027c737e5500d17
url_database=  mongodb://localhost:27017/incept

MongoClient.connect(url_database, function(err, db) {
    if (err) throw err;
    var myquery = { _id: '5989df87e027c737e5500d17' };
    db.collection("medicament").removeOne(myquery, function(err, obj) {
        if (err){
            console.log("failed");
            throw err;
        }
            console.log("1 document deleted");
        db.close();
    });
});
} 

这是我的json对象

    { _id: 5989df87e027c737e5500d17,
      medicine_name: 'ada',
      dosage_value: 'ads',
      dosage_unit: 'MG',
      prescribed_for_days: 'ads',
      doctor_name: 'asda',
      morning_select: '06:00',
      afternoon_select: '06:00',
      evening_select: '06:00',
      night_selct: '06:00' }

2 个答案:

答案 0 :(得分:1)

您确定方法removeOne吗?我想要删除你必须使用deleteOne。

deleteOne

答案 1 :(得分:0)

您需要将字符串_id转换为ObjectID,因为它是如何存储在集合中的:

const mongodb = require('mongodb');

var myquery = { _id: mongodb.ObjectID('5989df87e027c737e5500d17') };