2014-09-21 118 views
3

刪除mongodb中的一行看起來並不像SQL中那麼容易lol,那麼,我的問題是我不能通過_id刪除一行,因爲_id包含一個obj ObjectId ,這是該行的分貝,刪除MongoDB中的查詢_id with 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_idObjectId第一:

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); 

    }); 

});