Что такое db.collection.updateOne() в MongoDB?

Cto Takoe Db Collection Updateone V Mongodb



MongoDB — мощная нереляционная база данных, в которой можно хранить несколько документов. Иногда пользователю может потребоваться обновить один документ, соответствующий определенным критериям. В этой ситуации они могут использовать « db.коллекция.updateOne() », который обновляет и модифицирует первый документ, соответствующий критериям выбора, и модифицирует его.

Что такое метод «db.collection.updateOne()» в MongoDB?

db.коллекция.updateOne() ” обновляет один документ, соответствующий заданным критериям. Если критериям соответствует более одного документа, будет изменен только первый документ. Его можно использовать с операторами обновления, такими как « $установить », « $ вкл. ' и многое другое .

Как использовать метод «db.collection.updateOne()» в MongoDB?

db.коллекция.updateOne() ” можно использовать для обновления одного поля, а также нескольких полей одного документа, которые соответствуют критериям выбора. Кроме того, этот метод также может добавлять поле в документ и может использоваться с операторами обновления. Синтаксис « db.коллекция.updateOne() ” метод представлен ниже:







Базовый синтаксис



db.collection.updateOne ( { filter_criteria } , { обновлять } , { параметры } )

Здесь в приведенном выше синтаксисе:



  • Этот метод обновит первый документ, который соответствует критериям выбора.
  • filter_criteria ” определяет критерии обновления
  • обновлять ” содержит поля, которые будут изменены в документе
  • параметры ” является необязательным аргументом, который изменяет работу этого метода, например, “ опрокидывать ' и ' намекать

Для этого поста мы будем использовать « Linuxhint_Col2 » коллекции документов для демонстрации работы « db.коллекция.updateOne() метод. Чтобы просмотреть документы, хранящиеся в этой коллекции, выполните предоставленную команду:





db.Linuxhint_Col2.find ( )

Выход

На выходе были извлечены все документы, хранящиеся в папке « Linuxhint_Col2 сборник.



Пример 1: обновление одного поля
Чтобы обновить одно поле в документе, определите его критерии выбора и обновите критерии. Критерии обновления можно определить с помощью операторов обновления. Давайте запустим запрос, чтобы обновить « Плата за моделирование ” поле в “ 18000 ' где ' Фамилия ' объект равен ' Депп » в документе:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.Last_Name' : 'Депп' } , { $установить : { Плата за моделирование: 18000 } } )

Выход

Выходные данные вернули сообщение об успешном выполнении.

Чтобы проверить внесенные изменения, извлеките затронутый документ, используя этот « находить() команда:

db.Linuxhint_Col2.find ( { 'Model_Name.Last_Name' : 'Депп' } )

Выход

Вывод подтвердил, что документ был успешно обновлен.

Пример 2. Добавление нового поля с помощью метода «db.collection.updateOne()»
db.коллекция.updateOne() » добавляет новое поле с помощью « $установить ” в документе, если он еще не существует. Как « Опыт Поле ' не существует для документов, где ' Плата за моделирование ' меньше чем ' 9000 ».

Добавим новое поле « Опыт ' со значением ' Новичок » в документе, где « Плата за моделирование ' меньше чем ' 9000 ', используя этот запрос:

db.Linuxhint_Col2.updateOne ( { 'Моделирование_Плата' : { $lt : 9000 } } , { $установить : { 'Опыт' : 'Новичок' } } )

Выход

Выходные данные возвращают сообщение, указывающее, что один документ соответствует критериям выбора и успешно изменен.

Давайте проверим это, извлекая все документы, имеющиеся в коллекции». Linuxhint_Col2 ”:

db.Linuxhint_Col2.find ( )

Выход

Вывод показывает, что один документ, соответствующий условию, изменен, и новое поле успешно вставлено.

Пример 3. Обновление нескольких полей документа с помощью метода «db.collection.updateOne()»
Пользователь может даже изменять несколько полей в одном документе. Здесь этот запрос, приведенный ниже, изменит фамилию и возраст для документа, где « Имя 'равно' Ной “:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Ной' } , { $установить : { 'Model_Name.Last_Name' : 'Доу' , 'Модель_Возраст' : 23 } } )

Выход

Запрос был выполнен без ошибок.

Чтобы проверить изменения, используйте метод «find()», чтобы получить документ, в котором « Имя 'равно' Ной :

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Ной' } )

Выход

Вывод успешно вернул измененный документ.

Пример 4. Использование метода «db.collection.updateOne()» с операторами обновления
Как и в предыдущем примере, мы использовали « $установить » оператор обновления для изменения значений в « db.коллекция.updateOne() метод. Попробуем использовать другой оператор обновления». $ вкл. », который увеличивает поле на указанную сумму.

Здесь, в приведенном ниже запросе, метод ищет документ, в котором « Имя 'равно' Катя ' и добавляет ' 1000 ' в ' Плата за моделирование значение поля:

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Катя' } , { $ вкл. : { Плата за моделирование: 1000 } } )

Выход

Вывод вернул сообщение об успешном выполнении.

Чтобы увидеть изменения, используйте кнопку « находить() ” для извлечения затронутого документа:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Катя' } )

Выход

На выходе отображается измененное значение « Плата за моделирование ».

Пример 5. Добавление нового документа, если он еще не существует, с использованием аргумента «upsert»
Необязательный аргумент можно использовать для изменения поведения этого метода. Один из таких вариантов « опрокидывать », который добавляет новый документ, если ни один из уже существующих документов не соответствует критериям выбора, определенным в запросе.

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

db.Linuxhint_Col2.updateOne ( { 'Model_Name.First_Name' : 'Дэйвид' } , { $установить : { Плата за моделирование: 10000 ,  Возраст_модели: 23 , 'Model_Name.Last_Name' : 'Смит' } } , { вверху: истинный } )

Выход

Вывод показал подтвержденное сообщение как истинное.

Наконец, проверьте его модификацию, выполнив эту команду:

db.Linuxhint_Col2.find ( { 'Model_Name.First_Name' : 'Дэйвид' } )

Выход

Вывод показал, что новый документ был успешно добавлен.

Заключение

db.коллекция.updateOne() ” в MongoDB используется для обновления первого документа, соответствующего критериям выбора. Он может изменять как одно, так и несколько полей в документе с помощью операторов обновления, таких как « $установить ' и ' $ вкл. ». Кроме того, этот метод также принимает необязательные аргументы для изменения поведения метода, такие как « опрокидывать », который добавляет новый документ в случае, если критерии выбора не соответствуют ни одному существующему документу. В этом посте обсуждалось использование « db.коллекция.updateOne() ” в MongoDB.