サブ文書に値を追加している間、コマンドプロンプトで、のようなエラー
のようなエラーが表示されます。これをどうすれば解決できますか?解決法はnodejsアプリケーションで未定義のプロパティ 'プッシュ'を読み取ることができません?
var venueSchema = new Schema({
name: {
type: String,
required: true,
unique:true
},
address: {
type: String,
required: true
}
}, {
timestamps: true
});
// create a schema
var batchSchema = new Schema({
batchname: {
type: String,
required: true,
unique: true
},
activityname: {
type: String,
required: true
},
time: {
type:String,
required:true
},
duration: {
type:String,
required:true
},
classtype: {
type:String,
required:true
},
trainer: {
type:String,
required:true
},
price:{
type:Currency,
required:true,
unique:true
},
venue:[venueSchema]
}, {
timestamps: true
});
そして、私のRouting code
:
batchRouter.route('/:batchId/venue')
.post(function (req, res, next) {
Batches.findById(req.params.batchId, function (err, batch) {
if (err) throw err;
batch.venue.push(req.body);
batch.save(function (err, batch) {
if (err) throw err;
console.log('Updated venue!');
res.json(batch);
});
});
})
は、ここで私は親スキーマ
に値を与えたが、私はこのサブ文書に値を与えることができないんだけど、これらの助けを借りてmy schema code
です
親文書はbatchSchema
であり、サブ文書はvenueSchema
です。
バッチの作成後にid
が表示されます。このid
の助けを借りて、私はそれは私にエラーを示し、その時点で会場へ値を追加しようとしていますあなたが得るエラーがあることを意味
batch.venue.push(req.body);
'batch.venue = batch.venue || []; 'プッシュ前。 – Edgar
あなたはbatch.venueで何を期待していますか?ちょうどそれを記録する – karthick