在已知name,subjectName的情况下,如何在相对应的text中添加一个元素url4?
目前想通过在云函数中遍历找到对应的下标,用push方法将元素加入到对应数组后整体更新subject,代码如下: 但是在测试中语句并没有执行,newSubject并没有更新旧的subject
const facultys = db.collection('facultys')
// 云函数入口函数
exports.main = async (event, context) => {
return await facultys
.where({
name: event.xueyuan
// "subject.subjectName": event.xueke
}).get({
success: function(res){
var newSubject=res.result.data[0].subject;//获取subject
//console.log(newSubject.length);
for(var i=0;i<newSubject.length;i++){//遍历subject获取对应学科名位置
if(newSubject[i].subjectName===event.xueke)
{
newSubject[i].text.push(event.shijuan);//在text中添加试卷
//用newSubject更新老subject
facultys.where({
name:event.xueyuan
}).update({
data:{
subject:newSubject
},
success:res=>{
console.log("更新成功",res);
},
fail:err=>{
console.log("更新失败",err)
}
});
break;
}
}
},//end success
fail: console.error
})
}
const _ = db.command db .collection('facultys') .where({ name: '计算机与网络空间安全学院', 'subject.subjectName': '软件工程' }) .update({ data: { 'subject.$.text': _.push('url4') } })