使用nodejs更新Mongodb中的嵌套对象

时间:2018-03-08 08:25:21

标签: javascript node.js mongodb

我使用nodejs来更新mongodb集合,并且我使用这样的嵌套对象:

school
 *name
 *adress
 - class
 *name
 *type
 -student 
   *name
   *gender
   *age

我为学生编写了一个简单的表单进行编辑,点击更新后,我需要添加父对象,例如school.class.student。$ .sex性;

知道如何改变这个:

{ "name" : "brad" } 

{ "school.class.student.$.name" : "brad" }

感谢。

这是我的nodejs模型样本:

module.exports.updateStudent = function(schoolid, classid, studentid, student, options, callback) {
    let query = {
        'schoolid': schoolid,
        'school.classid' = classid,
        'school.class.student.studentid': studentid
    };
    //
    let update = { $set: {}};
    //
    update.$set =  student;

    r.update(query, update, option, callback);
};

学生的对象是:

student : {
  gender: 'Male',
  age: 19
}

应该转换为:

student : {
  'school.class.student.$.gender': 'Male',
  'school.class.student.$.age': 19
}

在提交更新之前。

0 个答案:

没有答案