Node.js MongoDB Удалить
Удалить документ
Чтобы удалить запись или документ, как это называется в MongoDB, мы используем
deleteOne()
метод.
Первый параметр deleteOne()
метода — это объект запроса, определяющий, какой документ нужно удалить.
Примечание. Если запрос находит более одного документа, удаляется только первое вхождение.
Пример
Удалить документ с адресом «Горная 21»:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: 'Mountain 21' };
dbo.collection("customers").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("1
document deleted");
db.close();
});
});
Сохраните приведенный выше код в файле с именем «demo_delete.js» и запустите файл:
Запустите «demo_delete.js»
C:\Users\Your Name>node demo_delete.js
Что даст вам этот результат:
1 document deleted
Удалить много
Чтобы удалить более одного документа, используйте
deleteMany()
метод.
Первый параметр deleteMany()
метода — это объект запроса, определяющий, какие документы следует удалить.
Пример
Удалить все документы, адрес которых начинается с буквы «О»:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: /^O/ };
dbo.collection("customers").deleteMany(myquery, function(err, obj) {
if (err) throw err;
console.log(obj.result.n + "
document(s) deleted");
db.close();
});
});
Сохраните приведенный выше код в файле с именем «demo_delete_many.js» и запустите файл:
Запустите «demo_delete_many.js»
C:\Users\Your Name>node demo_delete_many.js
Что даст вам этот результат:
2 document(s) deleted
Объект результата
Метод deleteMany()
возвращает объект, содержащий информацию о том, как выполнение повлияло на базу данных.
Большая часть информации не важна для понимания, но один объект внутри объекта называется «результатом», который сообщает нам, прошло ли выполнение нормально, и сколько документов было затронуто.
Объект результата выглядит следующим образом:
{ n: 2, ok: 1 }
Вы можете использовать этот объект для возврата количества удаленных документов:
Пример
Вернуть количество удаленных документов:
console.log(obj.result.n);
Что даст этот результат:
2