javascript - TypeError : db. collection is not a function in MongoDB Connection

标签 javascript node.js mongodb

我将此代码保存为 mongodb-connect.js

const MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017/TodoApp', (err, db) => {
    if(err){
        return console.log('Unable to connect to mongo db server');
    }
    console.log('Connected to Mongo DB server');

    db.collection('Todos').insertOne({
      text: 'Something to do',
      completed: false 
    }, (err, result) => {
        if(err) {
            return console.log('Unable to insert todo',err);
        }
        console.log(JSON.stringify(result.ops, undefined, 2));
    });

    db.close();
});

但它显示:

(node:7720) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true
 } to MongoClient.connect.
Connected to Mongo DB server
/home/ghoul/node-todo-api/node_modules/mongodb/lib/operations/mongo_client_ops.js:439
      throw err;      ^
TypeError: db.collection is not a function
    at MongoClient.connect (/home/ghoul/node-todo-api/playground/mongodb-connect.js:9:8)
    at result (/home/ghoul/node-todo-api/node_modules/mongodb/lib/utils.js:414:17)
    at executeCallback (/home/ghoul/node-todo-api/node_modules/mongodb/lib/utils.js:40
6:9)
    at err (/home/ghoul/node-todo-api/node_modules/mongodb/lib/operations/mongo_client_ops.js:285:5)
    at connectCallback (/home/ghoul/node-todo-api/node_modules/mongodb/lib/operations/mongo_client_ops.js:240:5)
    at process.nextTick (/home/ghoul/node-todo-api/node_modules/mongodb/lib/operations/mongo_client_ops.js:436:7)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

最佳答案

按照文档所述将选项 { useNewUrlParser: true } 传递给连接方法或使用:

cons url = 'your url';
const dbName = 'myproject';
MongoClient.connect(url, function(err, client) {
      const db = client.db(dbName);
}

关于javascript - TypeError : db. collection is not a function in MongoDB Connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51149412/

相关文章:

javascript - 第一次后附加到 SourceBuffer 的 MediaSource 不起作用

javascript - Backbone View 将模板分配给 el

javascript - 是否可以在 JavaScript 中获取定义的 Symbol 的描述值?

python - opencv4nodejs如何计算拉普拉斯方差的模糊度

javascript - NodeJS + Request - 请求网站时访问被拒绝

node.js - 从 Node API 加载 Web Audio API 中的音频

javascript - 按最高计数聚合

javascript - 使用 PHP、Ajax 和 Javascript/jQuery 进行推送?

node.js - 我可以将使用 Node.js 制作的网站上传到网络主机吗?

node.js - NodeJS类结构中的MongoDB