以下每个我都有节点JS脚本和嵌入式MongoDb架构,我已经使用节点JS查询插入了数组数据,如下所示我已经提到但是它存储空数组,如下所示
1)。节点js
try{
// var quiz = levelScoreQuiz.child;
var userObj = {
'child.quiz_level.level_attempted.array.$push(level_score)': req.params.score
//date: req.params.date
};
var user = new levelScoreQuiz(userObj);
user.save(function(err, result){
if (err) {
console.log('Error While Saving the reuslt ' +err)}
else{
console.log("User score saved successfully");
res.json(result);
}
});
}catch(err){
console.log('Error While Saving the reuslt ' +err);
return next(err);
}
2)。 MongoDb Schema
var userScore = new Schema({
child: {
/*quiz:{type:Array,type:Object,
question_id1:{type:String},
question_id2:{type:String},
question_id3:{type:String},
score:{type:Number}
},*/
quiz_level:{
current_level:{type:Number},
level_attempted:{type:Array,
level_id:{type:Number},
level_complete:{type:Boolean},
level_score:{type:Number}
}
}
}
});
的Json
{
"__v": 0,
"_id": "577f6d687fc74a8a179678f1",
"child": {
"quiz_level": {
"current_level": 1,
"level_attempted": []
}
}
}
答案 0 :(得分:0)
你还没有提到这个功能是做什么的。
var user = new levelScoreQuiz(userObj);
这也是荒谬的。如何将代码用作数组键。
var userObj = {
'child.quiz_level.level_attempted.array.$push(level_score)': req.params.score
//date: req.params.date
};
您可能想要这样做。
var userObj = {
'quiz_level': req.params.score
//date: req.params.date
};