кодесурса
«MongoDB

MongoDB: метод db.collection.save ()

script1adsense2code
script1adsense3code

db.collection.save

Метод db.collection.save () используется для обновления существующего документа или вставки нового документа, в зависимости от его параметра документа.

Синтаксис:

 db.collection.save ()

Параметры:

название Описание Необходимые /
Необязательный
Тип
документ Документ для сохранения в коллекцию. необходимые документ
writeConcern Документ, выражающий озабоченность по поводу записи. Не используйте функцию записи по умолчанию. Необязательный документ

Возвращает:

Объект WriteResult, который содержит статус операции.

Пример: сохранение нового документа без указания an_idField

В следующем примере метод save () выполняет вставку, поскольку документ, переданный методу, не содержит поле_id:

db.invoice.save( { inv_no: "I00001", inv_date: "10/10/2012", ord_qty:200 } );

Выход:

 > db.invoice.save ({inv_no: "I00001", inv_date: "10/10/2012", ord_qty: 200});
WriteResult ({"nInserted": 1})

Во время вставки оболочка создаст поле _id с уникальным значением ObjectId, что подтверждается вставленным документом:

> db.invoice.find();
{ "_id" : ObjectId("5677ddc7fad7da08e362a3b8"), "inv_no" : "I00001", "inv_date" : "10/10/2012", "ord_qty" : 200 }

Пример>: сохранение нового документа с указанием an_idField

В следующем примере save () выполняет обновление с помощьюsert: true, поскольку документ содержит поле an_id:

db.invoice.save( { _id: 1001,inv_no: "I00001", inv_date: "10/10/2012", ord_qty:200 } );

Выход:

 > db.invoice.save ({_id: 1001, inv_no: "I00001", inv_date: "10/10/2012", ord_qty: 200});
WriteResult ({"nMatched": 0, "nUpserted": 1, "nModified": 0, "_id": 1001})

Результатом операции является следующий новый документ в коллекции счетов.

> db.invoice.find();
{ "_id" : 1001, "inv_no" : "I00001", "inv_date" : "10/10/2012", "ord_qty" : 200 }

Пример: заменить существующий документ

Коллекция продуктов содержит следующий документ:

{ "_id" : 1001, "inv_no" : "I00001", "inv_date" : "10/10/2012", "ord_qty" : 200 }

Метод save () выполняет обновление с помощью upsert: true, поскольку документ содержит поле _id:

db.invoice.save( { _id: 1001,inv_no: "I00015", inv_date: "15/10/2012", ord_qty:500 } );

Выход:

 > db.invoice.save ({_id: 1001, inv_no: "I00015", inv_date: "15/10/2012", ord_qty: 500});
WriteResult ({"nMatched": 1, "nUpserted": 0, "nModified": 1})

Поскольку поле _id содержит значение, которое существует в коллекции, операция выполняет обновление для замены документа и приводит к следующему документу:

> db.invoice.find();
{ "_id" : 1001, "inv_no" : "I00015", "inv_date" : "15/10/2012", "ord_qty" : 500 }

Получить данные о ресторанах здесь

Поведение

Сейф пишет

Метод save () использует либо команду вставки, либо команду обновления, в которой используется стандарт записи по умолчанию. Чтобы указать другое значение записи, включите значение записи в параметр options.

Вставить

Если документ не содержит поля _id, то метод save () вызывает метод insert (). Во время операции оболочка mongo создаст ObjectId и присвоит его полю _id.

ПРИМЕЧАНИЕ. Большинство клиентов драйверов MongoDB включают поле _id и генерируют ObjectId перед отправкой операции вставки в MongoDB; однако, если клиент отправляет документ без поля _id, mongod добавит поле _id и сгенерирует ObjectId.

Обновить

Если документ содержит поле _id, то метод save () эквивалентен обновлению с опцией upsert, установленной в true, и предикатом запроса в поле _id.

Предыдущая: db.collection. метод renameCollection ()
Далее: метод db.collection.stats ()

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code