ici est mon code pour models.js où je garde les modèlesmodèles emboîtés Mongoose avec nodejs génère des doublons
var mongoose = require('mongoose')
, Schema = mongoose.Schema;
var GroupSchema = new Schema({
title : String
, elements : [ElementSchema]
, author : String
});
var ElementSchema = new Schema({
date_added : Date
, text : String
, author : String
});
mongoose.model('Group', GroupSchema);
exports.Group = function(db) {return db.model('Group');};
mongoose.model('Element', ElementSchema);
exports.Element = function(db) { return db.model('Element');
};
Pour moi, il semble assez clair, mais quand je fais
function post_element(req, res, next) {
Group.findOne({_id: req.body.group}, function(err, group) {
new_element = new Element({author: req.body.author,
date_added: new Date()});
new_element.save();
group.elements.push(new_element);
group.save();
res.send(new_element);
return next();
})
}
Je ne Je comprends pourquoi quand je vais à Mongo, j'ai deux collections appelées groupes avec des groupes imbriqués (donc ça a l'air bien) et l'autre collection s'appelle Elements.
Pourquoi? Ne devrait-il pas s'appeler seulement Groupe? Je ne comprends pas, un bon gars qui s'il vous plaît m'expliquer?
Merci, g
mais dans ce cas, quel sera le point d'avoir deux schémas séparés? – nick
Il semble qu'avec Mongoose, si vous voulez un tableau d'objets dans votre schéma, ces objets doivent être définis en utilisant un schéma (ou être l'un des types de schémas intégrés). – JohnnyHK