English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой главе мы изучим, как использовать MongoDB для удаления документов.
MongoDBremove()Метод используется для удаления документов из коллекции. Метод remove() принимает два параметра. Первый параметр — это условие для удаления query, второй параметр — флаг justOne.
query − (дополнительное) Условия для удаляемых документов.
justOne − (дополнительное) Удаляет только один документ, если установлено в true или 1.
remove()Основная грамматика метода:
db.collection.remove( <query>, <justOne> )
Если ваша MongoDB версии 2.6 и выше, формат синтаксиса следующий:
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
Объяснение параметров:
query : (дополнительное) Условия для удаляемых документов.
justOne : (дополнительное) Если установлено в true или 1, удаляет только один документ; если параметр не установлен или используется значение по умолчанию false, удаляет все документы, соответствующие условиям.
writeConcern : (дополнительное) Уровень исключения.
Предположим, что в коллекцию mycol имеют следующие данные.
{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"}, {_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"}, {_id : ObjectId("507f191e810c19729de860e3"), title: "w3codebox Overview"}
Ниже приведен пример, который удалит все документы с заголовком «MongoDB Overview».
>db.mycol.remove({'title':'MongoDB Overview'}) WriteResult({"nRemoved" : 1}) > db.mycol.find() {"_id" : ObjectId("507f191e810c19729de860e2"), "title" : "NoSQL Overview" } {"_id" : ObjectId("507f191e810c19729de860e3"), "title" : "w3codebox Overview" }
Если у вас несколько записей, и вы хотите удалить только первую запись, тоjustOneвremove()установите параметры в методе.
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
Если вы не указали условия удаления, MongoDB удалит весь документ из коллекции. Это эквивалент команды truncate в SQL.
> db.mycol.remove({}) WriteResult({ "nRemoved" : 2 }) > db.mycol.find() >