【问题标题】:adding mongodb data value filed using node js使用节点js添加mongodb数据值字段
【发布时间】:2016-07-14 15:21:12
【问题描述】:

您好,我需要使用节点 js 从 MongoDB 添加一个集合的两个字段值 {type:Number} 并将结果存储在同一个MongoDB集合中

第一个节点 js 查询从我的控制器内的 MongoDB 获取数据值。 第二次尝试添加获取的值。 第三次使用节点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 架构

var userScore = new Schema({

child: {

    quiz_level:{
        current_level:{type:Number},

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

});

3)。结果:它在我的浏览器中显示了我的对象

 "[object Object][object Object]"

【问题讨论】:

  • 您到底想添加什么? score_pre 和 score_curr?您需要从 a 和 b 中提取它们。它们是文件。
  • 将 score_pre 和 score_curr 都放入一个变量中,然后将此添加的结果存储到同一个集合中的 MongoDB。
  • 你想存储在哪个字段中?
  • 相同字段 score_pre.
  • 例如,存储在 score_pre 中的值是 2,而 score_curr 是 3,如上所述,我正在尝试使用节点 js 查询获取数据。当获取数据存储在我的变量中假设 a 和 b 然后我试图添加两个值 2 + 3 并存储在同一个字段 score_pre 中。

标签: javascript node.js mongodb


【解决方案1】:
    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);
    }

【讨论】:

  • 但它向我显示错误消息{"message":"Cannot read property 'quiz_level' of undefined"}
  • 顺便说一句,“孩子”可能未定义。 mongo 没有架构。
  • 你好,amiram,有任何方法可以同时执行 Get 和 Post 方法的功能
  • 获取并发布什么?在哪里?
  • amiram 我们可以在单个控制器上同时执行 get 和 post 方法吗?
猜你喜欢
  • 2018-07-27
  • 2021-11-12
  • 2021-11-11
  • 2018-05-03
  • 2019-07-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
相关资源
最近更新 更多