首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB 3.0和mongoDB 2.2

MongoDB 3.0和mongoDB 2.2
EN

Stack Overflow用户
提问于 2018-01-26 15:34:18
回答 1查看 192关注 0票数 0

我创建了NodeJS V8应用程序,并使用mongoDB本地服务器。

我有mongoDB版本^2.2.34并连接到DB

代码语言:javascript
复制
    let mongodb = require('mongodb');
    let mongoClient = mongodb.MongoClient;

    let connection = mongoClient.connect('mongodb://localhost:27017/Test');

    let getCollection = function (c) {
        return connection.then(function (db) {
            return db.collection(c);
        });
    };

啊,真灵。我将我的mongoDB版本更新为^3.0.1,并且有错误

代码语言:javascript
复制
(node:16320) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: db.collection is not a function

为什么在新版本中它不是工作,以及我如何更改代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-26 15:39:00

您期望connect()仍然返回一个db阅读Mongo升级指南 (重点地雷):

3.0有什么新鲜事?

  • 为可还原写入添加的支持
  • 为DNS种子列表添加的支持
  • 添加了对更改流的支持
  • 增加对会议的支持
  • MongoClient.connect 现在返回一个客户端而不是DB.

完全3.0在这里更改

考虑到这一点,您的代码将如下所示:

代码语言:javascript
复制
const {
    MongoClient
} = require("mongodb");

const connection = MongoClient.connect("mongodb://localhost:27017");

function getCollection(c) {
    return connection
        .then(client => client.db("Test"))
        .then(db => db.collection(c));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48464522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档