【问题标题】:cannot call method ''update" of undefind in nodejs using mogodb无法使用 mongodb 在节点 js 中调用未定义的方法“更新”
【发布时间】:2015-01-21 22:17:01
【问题描述】:

这是我使用nodejs的mongodb示例代码,

        var MongoClient = require('mongodb').MongoClient;
        MongoClient.connect('mongodb://localhost:27017/weather',function(err,db){
        if(err) throw err;
        db.collection('data').find().sort([["State",'1'],["Temprerature",'-1']]).toArray(function(err, docs){
        if(err) throw err;
        
        var res = {};
        var state = "";
        var month_highs=[];
        
        for (var i=0; i<docs.length; i++){
        var temperature = docs[i]['Temperature'];
        
        //we are transitioning to a new state
        if(state != docs[i]["State"]){
        month_highs.push(docs[i]);
        }
        state = docs[i]["State"];
        
        }
        
        // number of responses we have received
        
        var numCallbacks = 0;
        
        for(i=0; i<month_highs.length; i++){
        	db.collection['date'].update(month_highs[i], {"$set": {'month_high':true} }, function(err,updated){
        	if(err) throw err;
        	console.log("Update " + updated + " document month high");
        	if(++numCallbacks == month_highs.length){
        	return db.close();
        	}
        	} );
        
        }
        });
    
    });

在跑步的时候我会犯错误

抛出消息; ^ TypeError:无法调用未定义的方法“更新”

如何恢复这个错误?

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    我的猜测是 db.collection['date'] 实际上应该是 db.collection('data'),正如您之前在代码 sn-p 中所做的那样。

    另外,您在第 4 行有一个错字:Temprerature 应该是 Temperature

    【讨论】:

      猜你喜欢
      • 2020-02-06
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 2013-11-10
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多