У меня большая БД с различными несоответствиями.Один из пунктов, который я хотел бы прояснить, - это изменение статуса страны в зависимости от населения.
Пример данных:
{ "_id" : "D", "name" : "Deutschland", "pop" : 70000000, "country" : "Large Western" }
{ "_id" : "E", "name" : "Eire", "pop" : 4500000, "country" : "Small Western" }
{ "_id" : "G", "name" : "Greenland", "pop" : 30000, "country" : "Dependency" }
{ "_id" : "M", "name" : "Mauritius", "pop" : 1200000, "country" : "Small island"}
{ "_id" : "L", "name" : "Luxembourg", "pop" : 500000, "country" : "Small Principality" }
Очевидно, я бы хотел изменить странуполе переходит к чему-то более однородному, в зависимости от численности населения.
Я пробовал этот подход, но, очевидно, отсутствует какой-либо способ привязки к обновлению поля страны.
db.country.updateMany( { case : { $lt : ["$pop" : 20000000] }, then : "Small country" }, { case : { $gte : ["$pop" : 20000000] }, then : "Large country" }
Редактировать:Опубликовано до того, как я закончил писать.
Я думал использовать функциональность $cond
, чтобы в основном возвращать, если true, делать X, если false, делать y, при использовании updateMany.
Isэто возможно или есть обходной путь?