首頁  >  問答  >  主體

node.js - 【mongoose】連接警告:`open()` is deprecated in mongoose >= 4.11.0

mongoose 連線成功,但發出警告,好像是新版本要修改哪?錯誤訊息如下

DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0,use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`

網路上找了半天沒有結果,求答案,附上連接代碼

var mongoose = require('mongoose')
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection

db.on('error', console.error.bind(console, '连接错误:'));
db.once('open', function() {
    console.log('连接成功');
})
滿天的星座滿天的星座2684 天前2534

全部回覆(2)我來回復

  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-06 10:39:05

    最新版mongoose的已知問題,你可以先降級至4.10.8版,或者試試看下面的方法不知道有沒有用:

    var mongoose = require('mongoose');
    mongoose.Promise = global.Promise;
    
    let db = mongoose.createConnection('mongodb://localhost/test');
    
    db.on('error', console.error.bind(console, '连接错误:'));
    db.once('open', function() {
        console.log('连接成功');
    })

    回覆
    0
  • phpcn_u1582

    phpcn_u15822017-07-06 10:39:05

    加個{useMongoClient:true}
    例如
    mongoose.connect('mongodb://localhost/test',{useMongoClient:true})
    就可以了,
    我是查看:
    http://mongoosejs.com/ docs/co...
    拉下來最後頁的The useMongoClient Option才知道的

    回覆
    1
  • 取消回覆