я пытался
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({});
}
});