MongoDB
Zaktualizuj operatory
Szukaj…
Składnia
- {$ set: {<field1>: <value1>, <field2>: <value2>, ...}}
Parametry
parametry | Znaczenie |
---|---|
Nazwa pola | Pole zostanie zaktualizowane: { name : „Tom”} |
targetVaule | Wartość zostanie przypisana do pola: {name: „Tom” } |
Uwagi
Referencje dla operatora $ set : $ set na oficjalnej stronie internetowej
$ ustaw operator, aby aktualizował określone pola w dokumentach
I. Przegląd
Istotną różnicą między MongoDB i RDBMS jest to, że MongoDB ma wiele rodzajów operatorów. Jednym z nich jest operator aktualizacji, który jest używany w instrukcjach aktualizacji.
II. Co się stanie, jeśli nie użyjemy operatorów aktualizacji?
Załóżmy, że mamy kolekcję studentów do przechowywania informacji o studentach (widok tabeli):
Pewnego dnia dostajesz pracę, która musi zmienić płeć Toma z „M” na „F”. To proste, prawda? Więc bardzo szybko piszesz poniższe oświadczenie w oparciu o twoje doświadczenia z RDBMS:
db.student.update(
{name: 'Tom'}, // query criteria
{sex: 'F'} // update action
);
Straciliśmy wiek i imię Toma! Z tego przykładu możemy wiedzieć, że cały dokument zostanie zastąpiony, jeśli nie będzie żadnego operatora aktualizacji w instrukcji aktualizacji. Jest to domyślne zachowanie MongoDB.
III. $ Set operator
Jeśli chcemy zmienić tylko pole „płci” w dokumencie Toma, możemy użyć $set
do określenia, które pola chcemy zaktualizować:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F'}} // update action
);
Wartość $set
jest obiektem, jego pola oznaczają pola, które chcesz zaktualizować w dokumentach, a wartości tych pól są wartościami docelowymi.
Tak więc wynik jest teraz poprawny:
Ponadto, jeśli chcesz zmienić jednocześnie „płeć” i „wiek”, możesz dołączyć je do $set
:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F', age: 40}} // update action
);