Я пробував
db.users.remove(*)
Хоча воно повертає помилку, так як я можу виконати очищення всіх записів?
Відповіді:
Аргументом remove()
є документ фільтра, тому передача порожнього документа означає "видалити все":
db.user.remove({})
Однак, якщо ви точно хочете видалити все, вам може бути краще скинути колекцію. Хоча це, ймовірно, залежить від того, чи є в колекції індекси, визначені користувачем, тобто чи перевищує вартість підготовки колекції після її видалення більшу тривалість remove()
дзвінка в порівнянні із drop()
дзвінком.
Детальніше в документах .
remove
зараз застаріла. використовувати db.user.deleteMany({})
замість цього
remove
застаріле ( docs.mongodb.com/manual/reference/method/db.collection.remove ). Чи можете ви надати посилання або посилання на підтвердження цього твердження?
Ви можете видалити всі документи з колекції в MongoDB, ви можете використовувати наступне:
db.users.remove({})
Крім того, ви можете скористатися наступним методом:
db.users.deleteMany({})
Дотримуйтесь наступної документації MongoDB детальної інформації .
Для того, щоб видалити всі документи з колекції, передати порожній документ фільтр
{}
або доdb.collection.deleteMany()
або вdb.collection.remove()
методі.
db.users.count()
db.users.remove({})
db.users.count()
Щоб видалити всі документи з усіх колекцій:
db.getCollectionNames().forEach( function(collection_name) {
if (collection_name.indexOf("system.") == -1) {
print ( ["Removing: ", db[collection_name].count({}), " documents from ", collection_name].join('') );
db[collection_name].remove({});
}
});