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

在 mongodb 中删除一行似乎不像在 SQL 中那么容易,哈哈,好吧,我的问题是我不能通过 _id 删除一行,因为 _id 包含一个 objObjectId,这就是数据库中的行,

{
    "_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以便查询将按预期运行,希望你们能够帮助我找到解决方案。谢谢!

解答

首先将book_id转换为ObjectId:

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

...

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

MongoDB社区为您提供最前沿的新闻资讯和知识内容

更多推荐