【问题标题】:"mpromise (mongoose's default promise library) is deprecated" in Typescript ApplicationTypescript 应用程序中的“mpromise(猫鼬的默认承诺库)已弃用”
【发布时间】:2017-02-28 14:56:49
【问题描述】:

如何从 Typescript 应用程序中解决“不推荐使用 mpromise(mongoose 的默认承诺库)”。

我收到以下错误:

赋值表达式的左侧不能是常量或只读属性。

我正在使用MEAN stack with Angular 2 并希望猫鼬使用 bluebird promise 库。

当我尝试在 Stack OverflowMongo 上按照这些说明操作时遇到错误

说实话,我不确定我的问题是否只是缺乏对 Typescript 的了解,或者我做错了什么。

"use strict";

import * as mongoose from 'mongoose';
var dbConst = require('../constants/db.json');
var bluebird = require("bluebird");

export class DBConfig {
    static init():void {
      const URL = (process.env.NODE_ENV === 'production') ? process.env.MONGOHQ_URL
                                                          : dbConst.localhost;

      mongoose.Promise = bluebird;     // <-- THIS IS WHERE ERROR OCCURS
      mongoose.connect(URL);
      mongoose.connection.on('error', console.error.bind(console, 'An error ocurred with the DB connection: '));
    }
};

【问题讨论】:

    标签: javascript mongodb angular


    【解决方案1】:

    我相信以下应该有效:

    import * as mongoose from "mongoose";
    import * as bluebird from "bluebird";
    
    //either this
    (<any>mongoose).Promise = bluebird;
    
    //OR pass it in as an option
    const connection = mongoose.createConnection("mongodb://localhost:27017", { 
        promiseLibrary: bluebird
    });
    

    【讨论】:

      猜你喜欢
      • 2017-01-12
      • 2017-07-05
      • 2017-09-01
      • 2017-07-28
      • 2017-08-07
      • 2016-11-03
      • 2017-08-18
      • 1970-01-01
      • 2017-05-12
      相关资源
      最近更新 更多