私はマングース子供の人口に関する例や文書を見つけるのに苦労しています。彼らが持っているマニュアルのマングースは子供を参照してください
http://mongoosejs.com/docs/populate.html
:
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
var Story = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);
それは理にかなって、人は、このようにあるすべてのストーリーのリストを持っている「親」フィールド「の物語」を多くの物語を持つことができます
私が理解するのに苦労しているのは、その話を人のスキーマにどのようにプッシュしているかです。
var mongoose = require ('mongoose'),
Schema = mongoose.Schema;
var assignmentSchema = new Schema (
{
_id: String,
assignName: String,
modInsID: [{ type: Schema.Types.Number, ref: 'ModuleInst' }],
studentAssigns: [{type: Schema.Types.ObjectId, ref: 'StudentAssign' }]
}
);
module.exports = mongoose.model ('Assignment', assignmentSchema);
studentAssigns
格納次いでカスケード削除する.pre
ミドルウェアで使用することができるstudentAssigns
のすべてのIDが:
は、例えば、私は、割り当てスキーマを有します。
だから今、私StudentAssignスキーマ:
var mongoose = require ('mongoose'),
autoIncrement = require ('mongoose-auto-increment'),
Schema = mongoose.Schema;
var connection = mongoose.createConnection("************");
autoIncrement.initialize(connection);
var studentAssignSchema = new Schema (
{
assID: [{ type: Schema.Types.String, ref: 'Assignment' }],
studentID: [{ type: Schema.Types.Number, ref: 'Student' }]
}
);
var StudentAssign = connection.model('StudentAssign', studentAssignSchema);
module.exports = mongoose.model ('StudentAssign', studentAssignSchema);
あなたはそれがすでにここにAssignment
"
を参照している見ることができるように私のAPIコードです:
studentAssign POST:
router.route('/student-assignment').post(function(req, res) {
var studentAssign = new StudentAssign();
studentAssign.assID = req.body.assID;
studentAssign.studentID = req.body.studentID;
studentAssign.save(function(err, studentAssign) {
if(err) console.log(err);
res.status(200).json(studentAssign);
});
})
これは私が混乱している部分です彼は 'studentAssign
'を 'Assignment
'スキーマの 'studentAssigns
アレイに入れますか?ここ
は私の現在のAPIのJSONコールバックです:説明なしで
aaron.stories.push(story1); aaron.save(callback);
を:彼らはちょうど示して
[
{
"_id": "As 1",
"assignName": "Software Implementation",
"__v": 0,
"studentAssigns": [],
"modInsID": [
{
"_id": 22,
"semester": "TRI 3",
"year": 2016,
"__v": 0,
"modID": [
111
]
}
]
}
]
ドキュメントはそれを明確にしないのですか?
私は試みました: var assignment = new Assignment(); assignment.studentAssigns.push(studentAssign);
何も格納されていませんか?
にそれらをプッシュする必要があります(assignment.saveを電話しました)。 ? – Molda
@Molda yup申し訳ありませんが、私はその部分を –