MongoDB
Операторы обновления
Поиск…
Синтаксис
- {$ set: {<field1>: <значение1>, <поле2>: <значение2>, ...}}
параметры
параметры | Имея в виду |
---|---|
FIELDNAME | Поле будет обновлено: { name : 'Tom'} |
targetVaule | Значение будет присвоено полю: {name: 'Tom' } |
замечания
Ссылка для оператора $ set : $, установленного на оффициальном веб-сайте
$ set для обновления указанного поля (ов) в документе (-ях)
I.Overview
Значительная разница между MongoDB & RDBMS - MongoDB имеет множество видов операторов. Один из них - оператор обновления, который используется в операциях обновления.
II. Что произойдет, если мы не будем использовать операторы обновления?
Предположим, у нас есть студенческая коллекция для хранения информации о студентах (вид таблицы):
Однажды вы получите работу, которая должна изменить пол Тома от «М» до «F». Это легко, не так ли? Таким образом, вы быстро пишете отчет, основанный на опыте вашей РСУБД:
db.student.update(
{name: 'Tom'}, // query criteria
{sex: 'F'} // update action
);
Давайте посмотрим, каков результат:
Мы потеряли возраст и имя Тома! Из этого примера мы можем знать, что весь документ будет переопределен, если без оператора обновления в операторе обновления. Это поведение MongoDB по умолчанию.
Оператор $. $ Set
Если мы хотим изменить только поле «пол» в документе Тома, мы можем использовать $set
чтобы указать, какие поля мы хотим обновить:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F'}} // update action
);
Значение $set
- это объект, его поля обозначают те поля, которые вы хотите обновить в документах, а значения этих полей - целевые значения.
Кроме того, если вы хотите одновременно изменить «секс» и «возраст», вы можете добавить их в $set
:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F', age: 40}} // update action
);