使用节点js数组插入的嵌入式MongoDb插入

时间:2016-07-08 11:22:17

标签: javascript arrays node.js mongodb

以下每个我都有节点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": []
    }
  }
}

1 个答案:

答案 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
    };