кодесурса
«MongoDB

Оператор обновления полей MongoDB - $ inc

script1adsense2code
script1adsense3code

Описание

В MongoDB оператор $ inc используется для увеличения значения поля на указанную величину. Оператор $ inc добавляет как новое поле, когда указанное поле не существует, и устанавливает для поля указанное количество. $ Inc принимает положительное и отрицательное значение в качестве добавочной суммы.

Синтаксис:

 {$ inc: {<field1>: <amount1>, ...}} 

Параметры:

название Описание
field1 название столбца или поля
количество1 инкрементное значение

Наша база данных называется «myinfo», а наша коллекция - «items». Вот коллекция ниже.

Образец коллекции "Предметы"

{
        "_id" : 1,
        "item_id" : "I001",
        "comp_id" : "C001",
        "qty" : 25,
        "prate" : 30,
        "srate" : 35,
        "mrp" : 40
}
{
        "_id" : 2,
        "item_id" : "I001",
        "comp_id" : "C002",
        "qty" : 30,
        "prate" : 32,
        "srate" : 37,
        "mrp" : 40
}

Пример оператора обновления поля - $ inc

Если мы хотим увеличить значение qty на 10 для первого соответствующего документа в элементах коллекции для item_id - I001, можно использовать следующий оператор mongodb:

> db.items.update( { item_id: "I001" },{ $inc: { qty: 10 }});

Вот в приведенном выше примере

  • Кол-во для первого соответствующего документа для условия item_id: I001 было обновлено, и кол-во стало 35 из 25, а остальное остается тем же.

Чтобы увидеть обновленный вывод -

> db.items.find().pretty();

Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().

Вывод команды

 {
        "_id": 1,
        "item_id": "I001",
        "comp_id": "C001",
        кол-во: 35,
        "prate": 30,
        "Срейт": 35,
        "MRP": 40
}
{
        "_id": 2,
        "item_id": "I001",
        "comp_id": "C002",
        кол-во: 30,
        "prate": 32,
        "Срейт": 37,
        "MRP": 40
}

Пример оператора $ inc с multi: true

Если мы хотим добавить новое поле, например, % налога с определенным значением 2, для всех документов в элементах коллекции для item_id - I001, можно использовать следующие запросы mongodb:

> db.items.update( { "item_id": "I001" }, { $inc: { "tax%": 2 } }, { multi: true } );

Вот в приведенном выше примере

  • Новый налог в поле %, который не существует, был добавлен со значением 2 для всех документов, которые соответствуют условию item_id: I001. Здесь «multi: true» используется для обновления всех документов, соответствующих указанному условию.

Чтобы увидеть обновленный вывод -

> db.items.find().pretty();

Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().

Вывод команды:

 {
        "_id": 1,
        "comp_id": "C001",
        "item_id": "I001",
        "mrp": 40,
        "prate": 30,
        кол-во: 35,
        "Срейт": 35,
        "% налога": 2
}
{
        "_id": 2,
        "comp_id": "C002",
        "item_id": "I001",
        "mrp": 40,
        "prate": 32,
        кол-во: 30,
        "Срейт": 37,
        "% налога": 2
}

Пример оператора $ inc для нескольких полей

Если мы хотим увеличить налог и% mrp для всех соответствующих документов по условию, можно использовать следующую команду mongodb:

 > db.items.update ({"item_id": "I001"}, {$ inc: {"tax%": 2, "mrp": - 2}}, {multi: true}); 

Вот в приведенном выше примере

  • выражение оператора $ inc указывает 2 для% налога и -2 для поля mrp, чтобы увеличить значение налога% на 2 и одновременно уменьшить mrp на 2. «Multi: true» используется для обновления всех соответствующих документов для указанного условия.

Чтобы увидеть обновленный вывод -

 > db.items.find (). pretty (); 

Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().

Вывод команды:

 {
        "_id": 1,
        "comp_id": "C001",
        "item_id": "I001",
        "mrp": 38,
        "prate": 30,
        кол-во: 35,
        "Срейт": 35,
        "% налога": 4
}
{
        "_id": 2,
        "comp_id": "C002",
        "item_id": "I001",
        "mrp": 38,
        "prate": 32,
        кол-во: 30,
        "Срейт": 37,
        "% налога": 4
}

Предыдущая: $ slice
Далее: $ переименовать

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code