mardi 24 février 2015

How to push field into embedded document

Model



var ModuleSchema = new Schema({
name: String,
types: [{
name: String,
functions: [{
name: String
}]
}]
});

var CoverageSchema = new Schema({
name: String,
modules: [{
name: String,
types: [{
name: String,
functions: [{
name: String,
coverages: [{
blocksCovered: Number
}]
}]
}]
});

mongoose.model('Module', ModuleSchema);
mongoose.model('Coverage', CoverageSchema);


coverage.server.controller.js



coverage.modules = []; // Mongoose CoverageSchema existing object.

Module.findOne(...).exec(function(err, module) {
// If not error
coverage.modules.push({
name: module.name,
types: module.types
});
});

// How do I add 'coverage.modules.types.functions.coverages: [] ?
coverage.modules.forEach(function(mod){
mod.types.forEach(function(type){
type.functions.forEach(function(func){
func.coverages.push({blocksCovered: 0}); // Error: coverages undefined.
});
});
});

coverage.save(function (err) ...)


I am able to save coverage object with inserted modules from ModuleSchema. However cannot add after it modules.types.functions.coverages embedded document before save.


Aucun commentaire:

Enregistrer un commentaire