кодесурса
«MongoDB

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

script1adsense2code
script1adsense3code

Описание

В MongoDB оператор $ set используется для замены значения поля указанным значением. Если данное поле не существует в документе, оператор $ set добавит поле к указанному значению.

Синтаксис:

 {$ set: {<field1>: <value1>, ...}} 

Параметры:

название Описание
field1 поле, значение которого будет изменено
value1 новое значение для поля

Имя нашей базы данных - «myinfo», а имя нашей коллекции - «employee». Вот коллекция ниже.

Коллекция образцов "Сотрудник"

{
        "_id" : 1,
        "emp_id" : 1231,
        "pinfo" : {
                "empfname" : "Alen",
                "emplname" : "Jones"
        },
        "phno" : "123-123-1234",
        "email" : "[email protected]",
        "sector" : 2,
        "offinfo" : [
                "manager",
                "sales"
        ]
}
{
        "_id" : 2,
        "emp_id" : 1232,
        "pinfo" : {
                "empfname" : "Robart",
                "emplname" : "Bolt"
        },
        "phno" : "123-123-1235",
        "email" : "[email protected]",
        "sector" : 3,
        "offinfo" : [
                "administration",
                "MD"
        ]
}

Пример оператора MongoDB $ set для обновления первого соответствующего документа

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

>db.employeeset.update( { emp_id: 1231 },{ $set: {"email": "[email protected]"}});

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

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

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

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

 {
        "_id": 1,
        "электронная почта": " [электронная почта защищена] ",
        "emp_id": 1231,
        "offinfo": [
                "менеджер",
                "продажи"
        ],
        "phno": "123-123-1234",
        "Пинфо": {
                "empfname": "Ален",
                "emplname": "Джонс"
        },
        "сектор": 2
}
{
        "_id": 2,
        "emp_id": 1232,
        "Пинфо": {
                "empfname": "Robart",
                "emplname": "Болт"
        },
        "phno": "123-123-1235",
        "электронная почта": " [электронная почта защищена] ",
        "сектор": 3,
        "offinfo": [
                «Администрация»,
                "MD"
        ]
}

Пример оператора MongoDB $ set для обновления всего соответствующего документа

Если мы хотим обновить значение «block» на «E» для всех тех документов, которые соответствуют условному сектору, большему чем 2, можно использовать следующие запросы mongodb:

>db.employeeset.update( { "sector":{$gte:2} },{ $set: {"block": "E"}},{multi : true});

Здесь, в приведенном выше примере, «multi: true» используется для выполнения обновлений для всего соответствующего документа, и важно отметить, что поле «блок» не существует в документе , поэтому блок «новое поле» "добавил со значением" E "в документе.

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

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

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

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

 {
        "_id": 2,
        «блок»: «Е»,
        "электронная почта": " [электронная почта защищена] ",
        "emp_id": 1232,
        "offinfo": [
                «Администрация»,
                "MD"
        ],
        "phno": "123-123-1235",
        "Пинфо": {
                "empfname": "Robart",
                "emplname": "Болт"
        },
        "сектор": 3
}
{
        "_id": 1,
        «блок»: «Е»,
        "электронная почта": " [электронная почта защищена] ",
        "emp_id": 1231,
        "offinfo": [
                "менеджер",
                "продажи"
        ],
        "phno": "123-123-1234",
        "Пинфо": {
                "empfname": "Ален",
                "emplname": "Джонс"
        },
        "сектор": 2
}

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code