MongoDB: как удалить все записи коллекции в оболочке MongoDB?


87

я пытался

db.users.remove(*)

Хотя он возвращает ошибку, как мне очистить все записи?


db.getCollection ('collectionname'). remove ({})
firstpostcommenter

Ответы:


171

Аргументом для remove()является документ фильтра, поэтому передача пустого документа означает «удалить все»:

db.user.remove({})

Однако, если вы определенно хотите удалить все, вам может быть лучше отказаться от коллекции. Хотя это, вероятно, зависит от того, есть ли у вас определенные пользователем индексы для коллекции, т.е. перевешивают ли затраты на подготовку коллекции после ее удаления более длительную продолжительность remove()вызова по сравнению с drop()вызовом.

Подробнее в документах .


removeтеперь устарела. используйте db.user.deleteMany({})вместо этого
Махди Шаванди

@MahdiehShavandi, глядя на документы оболочки Mongo, я не вижу ничего, что говорит о том, что removeустарело ( docs.mongodb.com/manual/reference/method/db.collection.remove ). Можете ли вы предоставить ссылку или цитату в поддержку этого утверждения?
глитчинг

извините, лучше скажу: в будущих версиях он будет устаревшим. Он просто регистрирует это заявление в терминале.
Махди Шаванди

34

Вы можете удалить все документы из коллекции в MongoDB, вы можете использовать следующее:

db.users.remove({})

В качестве альтернативы вы также можете использовать следующий метод:

db.users.deleteMany({})

Следуйте следующей документации MongoDB для получения дополнительных сведений.

Для того, чтобы удалить все документы из коллекции, передать пустой документ фильтр {}либо к db.collection.deleteMany()или в db.collection.remove()методе.



4

Удалите все документы из коллекции в cmd:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )

4

Чтобы удалить все документы из всех коллекций:

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({}); 
    }
});
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.