2014-09-21 2 views
3

Удаление строки в mongodb, похоже, не так просто, как в SQL lol, ну, моя проблема в том, что я не могу удалить строку _id, потому что _id содержит obj ObjectId , это строка в БД,удалить запрос в mongodb с помощью _id с nodejs

{ 
    "_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 поэтому запрос будет работать как ожидаемый, надеюсь, что вы, ребята, сможете помочь мне найти решение для этого. спасибо!

ответ

8

Преобразовать book_id Ань ObjectId первым:

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

... 

db.books.remove({ _id: ObjectId(book_id) }, ...); 
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); 

    }); 

}); 
Смежные вопросы