Оператор обновления массива MongoDB - $ pull
Описание
В MongoDB оператор $ pull используется для удаления всех экземпляров значения из существующего массива.
Синтаксис:
db.collection.update ({поле: <запрос>}, {$ pull: {поле: <запрос>}});
Параметры:
название | Описание |
---|---|
поле | имя столбца или поля документа. |
запрос | Это выражение или условие. |
Образец коллекции "Студент"
{
"_id" : 1,
"sem" : 1,
"subjects" : [
"phys",
"chem",
"maths",
"gkn",
"stat",
"astro"
],
"achieve" : [
70,
87,
90,
90,
65,
81
]
}
Пример оператора MongoDB $ pull
Если мы хотим , чтобы удалить элемент «математику» из субъектов поля массива для любого экземпляра в этом массиве «математика», следующий MongoDB может быть использована команда -
> db.student.update( { "subjects" : "maths" }, { $pull: { "subjects": "maths" }} );
Здесь в приведенном выше примере элемент "математика" в массиве предметов будет удален, потому что условие
Чтобы увидеть недавно обновленный документ -
> db.student.find().pretty();
Вывод команды:
{ "_id": 1, "достичь": [ 70, 87, 90, 90, 65, 81 ], "сем": 1, "предметы" : [ "Phys", «Хим», "GKN", «Стат», «Астро» ] }
Пример MongoDB $ pull для удаления всех вхождений
Если мы хотим , чтобы удалить все элементы 70 из поля массива для достижения любого экземпляра «GKN» в субъектах массива, следующие MongoDB может быть использована команда -
> db.student.update( { "subjects" : "gkn" }, { $pull: { "achieve": 90 }} );
Здесь в вышеприведенном примере все элементы 90 в массиве достигли для любого экземпляра "gkn" в субъектах массива.
Чтобы увидеть недавно обновленный документ -
> db.student.find().pretty();
Вывод команды:
{ "_id": 1, "достичь": [ 70, 87, 65, 81 ], "сем": 1, "предметы" : [ "Phys", «Хим», "математика", "GKN", «Стат», «Астро» ] }
Пример MongoDB $ pull с использованием оператора $ gte
Если мы хотим удалить все элементы, больше чем равные 85, из поля массива, достигнутого для любого экземпляра «gkn» в субъектах массива, можно использовать следующую команду mongodb:
> db.student.update( { "subjects" : "gkn" }, { $pull: { "achieve":{$gte :85} }});
Здесь , в приведенном выше примере все элементы больше , чем равное 85 в массиве достижения удалили для любого экземпляра «GKN» в субъектах массива.
Чтобы увидеть недавно обновленный документ -
> db.student.find().pretty();
Вывод команды:
{ "_id": 1, "достичь": [ 70, 65, 81 ], "сем": 1, "предметы" : [ "Phys", «Хим», "математика", "GKN", «Стат», «Астро» ] }
Новый контент: Composer: менеджер зависимостей для PHP , R программирования