MongoDB: Як видалити всі записи колекції в MongoDB Shell?


86

Я пробував

db.users.remove(*)

Хоча воно повертає помилку, так як я можу виконати очищення всіх записів?


. Db.getCollection ( 'CollectionName') видалити ({})
firstpostcommenter

Відповіді:


165

Аргументом remove()є документ фільтра, тому передача порожнього документа означає "видалити все":

db.user.remove({})

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

Детальніше в документах .


removeзараз застаріла. використовувати db.user.deleteMany({})замість цього
Махді Шаванді

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

вибачте, я краще скажу: це буде застарілим у наступних версіях. Він просто реєструє цю претензію в терміналі.
Махді Шаванді,

32

Ви можете видалити всі документи з колекції в MongoDB, ви можете використовувати наступне:

db.users.remove({})

Крім того, ви можете скористатися наступним методом:

db.users.deleteMany({})

Дотримуйтесь наступної документації MongoDB детальної інформації .

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



3

Щоб видалити всі документи з усіх колекцій:

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({}); 
    }
});

2

Видалити всі документи з колекції в cmd:

cd C:\Program Files\MongoDB\Server\4.2\bin
mongo
use yourdb
db.yourcollection.remove( { } )
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.