删除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
以便查询按预期运行,
希望你们能够帮助我找到解决方案。
谢谢!
答案 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);
});
});