English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основное руководство по MongoDB

Дополнительное руководство по MongoDB

Удаление документа MongoDB

В этой главе мы изучим, как использовать MongoDB для удаления документов.

метод remove()

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()
>