MongoDB Оператор обновления массива - $ addToSet
Описание
Оператор $ addToSet добавляет или добавляет значение в массив, только если значение не существует в массиве. $ AddToSet возвращает тот же массив без изменения, когда значение уже находится в массиве.
Оператор $ addToSet гарантирует, что во время обновления в массиве не будет дублированных элементов, но может случиться так, что после добавления значения порядок элементов массива может быть изменен.
Синтаксис:
db.collection.update ({<поле>: <значение>}, {$ addToSet: {<поле>: <добавление>}});
Параметры:
название | Описание |
---|---|
поле | имя столбца или поля документа. |
значение | Значение, указанное для поля для выражения, или условия, или критериев соответствия. |
прибавление | Значение, которое будет добавлено для поля или столбца в массив, если это значение не существует. |
Образец коллекции "Студент"
{ "_id" : 1, "sem" : 1, "achieve" : [ 70, 87, 90 ] }
Пример оператора MongoDB $ addToSet для добавления значения
Если мы хотим , чтобы добавить значение 92 в массив достижения следующей MongoDB команды могут быть использованы -
db.student.update( { "sem": 1}, { $addToSet: { "achieve": 92 } } );
В приведенном выше примере будет добавлено значение 92 в поле достижения массива.
Чтобы увидеть недавно обновленный документ -
> db.student.find().pretty();
Вывод команды
{"_id": 1, "reach": [70, 87, 90, 92], "sem": 1}
Пример оператора MongoDB $ addToSet для добавления нескольких значений с использованием модификатора $ each
Если мы хотим добавить значения 10 и 11 в поле достижения массива, можно использовать следующую команду mongodb.
> db.student.update( { "sem": 1}, { $addToSet: { "achieve":{$each:[10,11]}}});
В вышеприведенном примере с использованием модификатора $ each значения 10 и 11 были добавлены к достижению поля массива .
Чтобы увидеть недавно обновленный документ -
> db.student.find().pretty();
Вывод команды:
{ "_id": 1, "достичь": [ 70, 87, 90, 92, 10, 11 ], "сем": 1 }
Новый контент: Composer: менеджер зависимостей для PHP , R программирования