私は、Node.js
,mongoose
,mongodb
,express
およびangular
を使用しています。 私はマングースモデルでアンケートの回答を保存しています。多くの人が特定の調査の回答を提出します。最初の人が調査の回答を提出すると、その調査のための新しい文書を作成したいと思います。 2回目、3回目など、同じ調査の回答を提出する場合は、次のスキーマの返信配列にのみ配列要素を追加します。_idが存在しない場合、配列の要素を配列にプッシュするにはどうすればよいでしょうか?
そして、最初の人が新しい調査の返信を提出するときに、私は新しい調査のために新しい文書を作成したいと思います。どのように私はマングースでこれを行うことができますか?
Mongoose.js: how to implement create or update?で同様の質問が見つかりました。 はしかし、ここで私は[] _idが発見された場合、他の新しい文書
マングースモデルを作成する回答の次の配列のインデックスに新しい返信をプッシュする:
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var MCQReplySchema = new Schema({
_id : String,
surveyname: String,
replies :[{
replierId : String,
answers : [{
questionId : String,
answer : String
}]
}]
});
module.exports=mongoose.model('MCQReply',MCQReplySchema);
保存データベースへのデータ:
router.post("/saveMCQAnswer", function(req, res) {
new MCQReply({
_id : '123',
surveyname: 'sample',
replies :[{
replierId : 'R001',
answers : [{
questionId : 'A001',
answer : 'answer'
}]
}]
}).save(function(err, doc){
if(err) res.json(err);
else
req.flash('success_msg', 'User registered to Database');
res.redirect("/");
});
});
'_id'は実際には暗黙的に指定されており、Mongooseは一意の' _id'を作成しようとしています - http://mongoosejs.com/docs/guide.html#_idを参照してください。 IDを自分で指定する特定の理由はありますか? – GPX
あなたはこれを見たことがありますか?http://stackoverflow.com/a/13338758/6048928 – RaR
[Mongoose.js:作成または更新を実装する方法?](http://stackoverflow.com/questions/13337685/mongoose- js-how-to-implement-create-or-update) – RaR