{
"userId" : "111",
"userName":"abc",
"skills":[
{
"DomainName" : "Application",
"skillName" : "Python",
"months" : "2",
"level" : "8",
"CertificationStatus" : "Yes"
},
{
"DomainName" : "Application",
"skillName" : "Angular",
"months" : "0",
"level" : "9",
"CertificationStatus" : "Yes"
},{
"DomainName" : "Application",
"skillName" : "Nodejs",
"months" : "5",
"level" : "6",
"CertificationStatus" : "Yes"
}
]
}
я хочу обновить месяцы: 3, уровень до 2 для nodejs .. если он уже существует, он должен обновиться, в противном случае он должен добавить этот конкретный json в массив
команды, которые я использовал в колбе, используя mongodbявляются:
skill ={
"DomainName" : "Application",
"skillName" : "Nodejs",
"months" : "3",
"level" : "2",
"CertificationStatus" : "Yes"
}
skills_dummy_collection =
mongo.db.skills_master.find({'userId':'111'},{skills:{"$elematch":
{'skills.skillName':'Nodejs'}}})
if skills_dummy_collection:
mongo.db.skills_master.update({"skills.skillName"
:'Nodejs','userId':'111'}, {"$set": {
"skills":skill
} })
else:
mongo.db.skills_master.insert(json_util._json_convert(skill))