Я абсолютно не знаком с mongoDB и не знаком с Node.js, поэтому, пожалуйста, извините, если код ниже далек от совершенства.
Цель состоит в том, чтобы удалить документ из коллекции, на который ссылается его _id
. Удаление выполнено (отмечено в оболочке mongo), но код не заканчивается (запуск node myscript.js
не возвращает мою оболочку). Если я добавлю db.close()
, я получаю { [MongoError: Connection Closed By Application] name: 'MongoError' }
.
var MongoClient = require("mongodb").MongoClient;
var ObjectID = require("mongodb").ObjectID;
MongoClient.connect('mongodb://localhost/mochatests', function(err, db) {
if (err) {
console.log("error connecting");
throw err;
}
db.collection('contacts', {}, function(err, contacts) {
if (err) {
console.log("error getting collection");
throw err;
}
contacts.remove({_id: ObjectID("52b2f757b8116e1df2eb46ac")}, {safe: true}, function(err, result) {
if (err) {
console.log(err);
throw err;
}
console.log(result);
});
});
db.close();
});
Мне не нужно закрывать соединение? Что происходит, когда я не закрываю его, и программа не заканчивается?
Спасибо!