最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

db.createCollection不是函数

IT培训 admin 5浏览 0评论

db.createCollection不是函数

我试图创建一个mongo实例但是我无法访问mongodb nodejs驱动程序中的任何帮助方法。

我的mongo实例在docker中运行,端口已经打开到我的本地。

TypeError: db.createCollection is not a function
at /var/www/html/beacon/index.js:6:8
at args.push (/var/www/html/beacon/node_modules/mongodb/lib/utils.js:431:72)
at /var/www/html/beacon/node_modules/mongodb/lib/mongo_client.js:254:5
at connectCallback (/var/www/html/beacon/node_modules/mongodb/lib/mongo_client.js:933:5)
at /var/www/html/beacon/node_modules/mongodb/lib/mongo_client.js:794:11
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)

从w3schools复制...

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";

MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    db.createCollection("customers", function(err, res) {
        if (err) throw err;
        console.log("Collection created!");
        db.close();
    });
});

运行时不返回任何错误,并且db对象上没有公开任何方法。

有任何想法吗?

回答如下:

根据Mongodb 3.0的changelog,你现在得到一个包含数据库对象的客户端对象:

因此,您需要指向要使用的数据库的db对象,在您的情况下是mydb。试试这个:

var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {   //here db is the client obj
    if (err) throw err;
    var dbase = db.db("mydb"); //here
    dbase.createCollection("customers", function(err, res) {
        if (err) throw err;
        console.log("Collection created!");
        db.close();   //close method has also been moved to client obj
    });
});

db.createCollection不是函数

我试图创建一个mongo实例但是我无法访问mongodb nodejs驱动程序中的任何帮助方法。

我的mongo实例在docker中运行,端口已经打开到我的本地。

TypeError: db.createCollection is not a function
at /var/www/html/beacon/index.js:6:8
at args.push (/var/www/html/beacon/node_modules/mongodb/lib/utils.js:431:72)
at /var/www/html/beacon/node_modules/mongodb/lib/mongo_client.js:254:5
at connectCallback (/var/www/html/beacon/node_modules/mongodb/lib/mongo_client.js:933:5)
at /var/www/html/beacon/node_modules/mongodb/lib/mongo_client.js:794:11
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)

从w3schools复制...

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";

MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    db.createCollection("customers", function(err, res) {
        if (err) throw err;
        console.log("Collection created!");
        db.close();
    });
});

运行时不返回任何错误,并且db对象上没有公开任何方法。

有任何想法吗?

回答如下:

根据Mongodb 3.0的changelog,你现在得到一个包含数据库对象的客户端对象:

因此,您需要指向要使用的数据库的db对象,在您的情况下是mydb。试试这个:

var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {   //here db is the client obj
    if (err) throw err;
    var dbase = db.db("mydb"); //here
    dbase.createCollection("customers", function(err, res) {
        if (err) throw err;
        console.log("Collection created!");
        db.close();   //close method has also been moved to client obj
    });
});

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论