我是MongoDB中的新手。 MongooseJS。实际上学习MEAN堆栈,我已经爱上了它。 我不确定是否完全理解noSQL原则,抱歉如果我复制。
我想加入2个文件,输入父亲和孩子,与1到N的关系。
这是两个解决方案:
•子文件:http://mongoosejs.com/docs/subdocs.html
•参考文献:http://mongoosejs.com/docs/populate.html
我选择了第一个,更简单,IHMO更接近我的问题。
以下是代码:
var personSchema = new Schema({
name : String
});
var groupSchema = new Schema({
name : String,
persons : [ personSchema ]
});
var Group = module.exports = mongoose.model('Group', groupSchema);
var Person = module.exports = mongoose.model('Person', personSchema);
Group.findById(groupId, function(err, group) {
var person = new Person();
person.name = "john";
group.persons.push(person);
group.save();
});
当我检查所有组时,它完美地工作。这些团体被归还,人们得救了。
Group.find(function(err, group) {
// group is full of groups & people
}
但是当我检查人时,没有任何回报。
Person.find(function(err, person) {
// person is empty
}
似乎只填写了Group table 文档。解决方案是否意味着保存1 /人和2 /组,如果是,将Person保存在两个不同的位置(在组文档和个人文档中)?
Group.findById(groupId, function(err, group) {
var person = new Person();
person.name = "john";
group.persons.push(person);
person.save(function(...) {
group.save();
});
});
由于