MongoDB — это база данных NoSQL, которая эффективно поддерживает все традиционные функции базы данных. Некоторые важные операции с базой данных включают создание, получение, обновление и удаление. В MongoDB пользователи могут обновлять существующий документ с помощью встроенного метода обновления.
Функция обновления в любой базе данных играет жизненно важную роль для обработки данных в базе данных. Например, база данных инвентаризации любого магазина должна обновляться время от времени, чтобы отслеживать список товаров в этом магазине.
В этой статье мы представили краткую демонстрацию операции обновления в MongoDB:
Как работает метод обновления в MongoDB
Метод обновления состоит из нескольких подметодов, которые используются для обновления документов в MongoDB. В этом разделе описаны эти подметоды, которые помогут понять рабочий механизм обновления MongoDB.
Обновление одного документа: вы можете следовать синтаксису, указанному ниже, чтобы обновить один документ в базе данных MongoDB.
> db.collection—name.updateOne({filter}, {update}, {options})
Экземпляры в приведенном выше синтаксисе описаны как:
{filter}: условие, которое должно быть выполнено для обновления документов.
{update}: содержит поля и значения, которые необходимо обновить, документа, который соответствует {фильтру}.
Обновление нескольких документов : для многократного обновления в документе необходимо следовать синтаксису, приведенному ниже:
> db.collection—name.updateMany({filter}, {update}, {options})
Заменить один документ: этот метод заменяет один документ, соответствующий условию. Синтаксис этого метода замены приведен ниже:
> db.collection—name.replaceOne({filter}, {replace}, {options})
{Заменить} в приведенном выше синтаксисе содержит поле (ы) и значение (ы) должны быть заменено после того, как какой — либо документ соответствует фильтру.
Обновление или замена документов с помощью метода update (): этот комбинированный метод может обновлять, а также заменять один или несколько документов. Для этого необходимо соблюдать следующий синтаксис:
Синтаксис
> db.collection—name.update({query}, {update}, {options})
{ Query } в приведенном выше синтаксисе имеет то же значение, что и {filter}.
Примечание. » Имя-коллекции » во всех приведенных выше синтаксисах определяется пользователем, и коллекция всегда относится к базе данных в MongoDB. У {options} есть некоторая конкретная цель для выполнения, например, » multi » используется в методе » update () » для обновления нескольких / отдельных документов.
Как использовать метод обновления в MongoDB
В этом разделе все вышеперечисленные методы будут объяснены с примерами.
Обновить отдельный документ в MongoDB
Мы будем использовать коллекцию » авторы » для применения метода updateOne (). Содержимое этой коллекции показано ниже:
> db.authors.find().pretty()
Приведенная ниже команда добавит новое поле » Статус: продвинуто «, где поле » Идентификатор автора » соответствует значению » 2 «:
> db.authors.updateOne({«Author-id»: 2}, {$set: {«Status»: «Promoted»}})
Хотя выходные данные подтверждают, что одно поле было изменено, но вы можете проверить это обновление, проверив содержимое коллекции » авторы » с помощью указанной ниже команды:
> db.authors.find().pretty()
Обновить несколько документов в MongoDB
MongoDB позволяет обновлять сразу несколько документов. Здесь мы используем коллекцию » сотрудники «, и в этой коллекции находятся следующие документы:
> db.employees.find().pretty()
Здесь мы добавим обозначение сотрудникам. Сотрудники, у которых » Заработная плата » меньше » 4000 «, обозначаются как » Автор «.
Приведенная ниже команда добавит поле » назначение » для всех сотрудников, у которых значение » Заработная плата » меньше » 4000 «.
> db.employees.updateMany({«Salary»: {$lt: 4000}}, {$set: {«designation»: «Author»}})
Заменить один документ в MongoDB
Заменить документ можно с помощью метода » replaceOne () » MongoDB. В этом примере мы используем » персонал » как коллекцию, и в ней находится следующий контент:
> db.staff.find().pretty()
Например, мы заменили нашего инструктора по имени » Майк » на нового инструктора. Приведенная ниже команда поможет вам добавить данные инструктора вместо » Майка «:
Примечание. Поскольку обозначение осталось прежним, мы не заменяли это поле.
> db.staff.replaceOne({«name»: «Mike»}, {«name»: «Jack», «Salary»: 300, «experience»: 5})
Обновите или замените документ в MongoDB с помощью метода update ()
Метод » update () » в MongoDB представляет собой комбинацию нескольких и одиночных методов обновления. Например, если вы хотите обновить один документ или несколько документов, вы можете использовать этот метод в обоих сценариях.
«MyCollection» используется в качестве коллекции в этом примере, и документы, находящиеся внутри него, приведены ниже:
> db.mycollection.find().pretty()
Обновление одного документа с помощью метода update (): приведенная ниже команда обновит те документы, у которых » зарплата » меньше » 5000 «, и будет добавлено новое поле » Доплата » со значением » 1000 «:
> db.mycollection.update({«salary»: {$lt: 5000}}, {$set: {«Allowance»: 1000}})
Если мы посмотрим на контент » mycollection «; есть два сотрудника, у которых » зарплата » меньше » 5000 «, но метод update () обновил только одного.
Обновление нескольких документов с помощью метода update (): по умолчанию метод update () изменяет только первый документ, соответствующий условию запроса. Чтобы обновить все документы, соответствующие условию, вы должны установить значение опции » multi » равным » true «, как мы это сделали в команде, написанной ниже:
Условие запроса ( $ lt: 5000 ) такое же, как в приведенном выше сценарии ( обновить один документ ), но мы установили значение » multi » равным » true «, поэтому изменяются » 2 ″ документа. В » update () » значением по умолчанию » multi » является » false «.
Заключение
MongoDB поддерживает широкий список функций обновления, которые используются в определенных сценариях для изменения документов в базе данных. В этой статье мы подробно рассказали, как обновить существующие документы в MongoDB? Для этого MongoDB имеет четыре метода в своем списке методов обновления, и этот пост позволит вам использовать все эти методы для обновления существующих документов в MongoDB. Среди всех четырех методов наиболее часто используется метод update () из-за его двойственного характера обновления. Пользователи MongoDB могут следовать этому руководству, чтобы выполнить процесс обновления документов коллекции MongoDB.