TypeError:无法使用mongoDb读取null --- node到insertData的属性'collection'

时间:2017-08-08 07:59:10

标签: node.js

image

这是我的问题。现在代码在

之下

var mongoClient = require('mongodb').MongoClient;
var db = 'mongodb://localhost:27017/lcl';

var insertData = function(db,callback){
	var collection = db.collection('user');
	var data = [{"name":"lcl","age":"23","sex":"男"},{"name":"王小猫","age":"22","sex":"女"}];
	collection.insert(data,function(err,result){
		if (err) {
			console.log(err);
			return;
		};
		callback(result);
	})
}
mongoClient.connect(db,function(err,db){
	console.log("连接成功");
	insertData(db,function(result){
		console.log(result);
		db.close();
	})
})

以上是我写的代码。 请帮我找到解决方案。

2 个答案:

答案 0 :(得分:0)

来自官方文件:

  

回调(函数) - 执行此方法后将调用此函数。如果发生错误,第一个参数将包含Error对象,否则为null。第二个参数将包含初始化的db对象,如果发生错误则为null。

逻辑上,您必须检查错误存在优先,然后才对db执行某些操作

答案 1 :(得分:0)

尝试这样的事情。检查您的Db和集合名称。

var mongoClient = require('mongodb').MongoClient;
var db_config = 'mongodb://localhost:27017/conapp';

var insertData = function(db_config,callback){
var collection = db_config.collection('users');
var data = [{'username':'ddaaaa'}];
collection.insert(data,function(err,result){
    if (err) {
        console.log(err);
        return;
    };
    callback(result);
})
}
 mongoClient.connect(db_config,function(err,db_config){

 insertData(db_config,function(result){
    console.log(result);
    db_config.close();
 })

})