Привет, у меня есть ситуация, когда мне нужно обновить объекты во вложенном массиве в коллекции mongodb, используя инфраструктуру mgo из Go.На данный момент mongodb версии 3.6 поддерживает это, используя ArrayFilters в качестве третьего параметра в Collection.Update (). Функция mgo Collection.Update () поддерживает только 2 параметра: один для поиска, а другой для обновления.Как я могу использовать arrayfilters в Collection.Update () mgo
Это мой объект выглядит как
{
"TPID": "",
"TPName":"",
"TCID":"",
"TCName":"",
"BatchId":"",
"BatchName":"",
"QP":[{
"qpCode":"",
"jobRole":"",
"Sector":"",
"SectorID":"",
"CompulsoryNos":[{
"NosCode":"",
"TotalMarks":"",
"OutOf":"",
"Theory":"",
"SkillsPracticals":"",
"PerformanceCriteria":[{
"CriteriaDesc":"",
"OutOf":"",
"Theory":"",
"Skills":""
}]
}]
}]
}
, и это был мой подход в оболочке Монго (версия 3.6)
db.test4.update({},
{"$set" :
{"QP.$[i].CompulsoryNos.$[j].PerformanceCriteria.$[k].Skills" :
"Talented"}},
{"arrayFilters" : [{"i.qpCode" : "ID_1"},{"j.NosCode" : "Code_1"},
{"k.Skills" : "skills_1"}]})
есть ли способ реализовать тот же запрос, используя mgo?