使用nodejs通过_id删除mongodb中的查询

时间:2014-09-21 20:01:59

标签: node.js mongodb

删除mongodb中的一行似乎并不像在SQL中那么简单lol,好吧,我的问题是我不能删除_id的行,因为_id包含一个obj ObjectId,& #39;是db中的行,

{
    "_id" : ObjectId("541ec60e41b46b841adde31e"),
    "name" : "TT"
}

这就是我试图删除它的方式,

db.books.remove({ _id: book_id}, function(err, delete) {
    if(err)
        console.log("ERROR!", err);

    console.log("deleted  ", delete);
});

我不知道如何传递book_id以便查询按预期运行, 希望你们能够帮助我找到解决方案。 谢谢!

2 个答案:

答案 0 :(得分:8)

首先将book_id转换为ObjectId

var ObjectId = require('mongodb').ObjectID;

...

db.books.remove({ _id: ObjectId(book_id) }, ...);

答案 1 :(得分:0)

var {MongoClient,ObjectID} = require('mongodb');


var url = 'mongodb://localhost:27017/test';

MongoClient.connect(url, function(err, db) {
    if(err!=null){
        return console.log(err.message)
    }
  db.collection("App").deleteOne({_id:ObjectID('59c3dfa6d11caa3360af91cc')}, function (err,data) {

       if(err!=null){
            return console.log(err)
        }
        console.log(data);

    });

});