2016-07-14 34 views
0

您好所有我需要添加兩個字段值{類型:Number}使用節點JS 從MongoDB的一個集合,並將結果存儲MongoDB的將MongoDB的數據值提交節點JS

的相同集合第一個節點js查詢從我的控制器中獲取來自MongoDB的數據值。 第二次嘗試添加提取的值。 3rd使用節點js將結果存儲在MongoDB的相同集合中。

1)。節點js

var levelScoreQuiz = require('../models/levelscoreSchema.js'); 
try{ 


     var queryObj = {}; 
     var projection = '-id child.quiz_level.score_pre'; 
     var projection2 = '-id child.quiz_level.score_curr'; 


     var a = levelScoreQuiz.findOne(queryObj,projection); 
     var b = levelScoreQuiz.findOne(queryObj,projection2); 
     //console.log(a); 
     //console.log(b); 
     var add = a + b; 
     //console.log(add); 
     res.send(add); 


     var userObj = { 

     level_pre:req.params.add 


     }; 

     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"); 
      console.log("User Previous 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_level:{ 
     current_level:{type:Number}, 

      score_pre:{type:Number}, 
      score_curr:{type:Number} 
    } 
    } 

}); 

3)。結果:它讓我在我的瀏覽器對象

"[object Object][object Object]" 
+0

正是你希望成爲什麼補充? score_pre和score_curr?你需要從a和b中提取它們。他們是文件。 –

+0

將score_pre和score_curr都放入一個變量中,然後將這個添加的結果存儲到同一個集合中的MongoDB中。 –

+0

你想存儲哪個字段? –

回答

0
var levelScoreQuiz = require('../models/levelscoreSchema.js'); 
try{ 


     var queryObj = {}; 
     var projection = {id: 0, 'child.quiz_level.score_pre': 1}; 
     var projection2 = {id: 0, 'child.quiz_level.score_curr': 1}; 


     var a = levelScoreQuiz.findOne(queryObj,projection); 
     var b = levelScoreQuiz.findOne(queryObj,projection2); 
     //console.log(a); 
     //console.log(b); 
     var add = a.child.quiz_level.score_pre + 
        b.child.quiz_level.score_curr; 
     //console.log(add); 
     res.send(add); 


     var userObj = { 

     child: {quiz_level: { score_pre: req.params.add}} 


     }; 

     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"); 
      console.log("User Previous score saved successfully"); 
      res.json(result); 
     } 
     }); 

    }catch(err){ 
     console.log('Error While Saving the reuslt ' +err); 
     return next(err); 
    } 
+0

你好amiram首先感謝給我的解決方案 –

+0

,但它顯示我錯誤消息{「消息」:「無法讀取屬性'未定義的」quiz_level「} –

+0

我認爲你的投影是錯誤的。修好它 –