@loyal
В MongoDB, чтобы удалить последние несколько записей, вы можете использовать метод deleteMany()
с параметром sort()
и limit()
. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// Подключение к MongoDB const MongoClient = require('mongodb').MongoClient; // URL подключения и настройки const url = 'mongodb://localhost:27017'; const dbName = 'mydatabase'; // Подключение к серверу MongoDB MongoClient.connect(url, function(err, client) { if (err) throw err; // Выбор базы данных const db = client.db(dbName); // Определение коллекции const collection = db.collection('mycollection'); // Удаление последних 5 записей collection.find().sort({_id: -1}).limit(5).toArray(function(err, docs) { if (err) throw err; // Удаление найденных записей collection.deleteMany({_id: {$in: docs.map(doc => doc._id)}}, function(err, result) { if (err) throw err; console.log('Удалено', result.deletedCount, 'документов'); // Закрытие соединения client.close(); }); }); }); |
В этом примере мы подключаемся к серверу MongoDB, выбираем базу данных и определяем коллекцию. Затем мы сортируем все записи по убыванию _id
и ограничиваем результат только 5 документами с помощью методов sort()
и limit()
. После этого мы удаляем найденные документы с помощью метода deleteMany()
.