Node.js 我应该如何连接mongoose 5.8和mongodb?
我在用猫鼬。5.8.2并遵循在v3.5上运行mongoose的教程。我知道有一些变化,比如useNewUrlParser已被弃用,而我们使用useUnifiedTopology,但问题是,每当我使用useUnifiedTopology时,我都会得到一个错误,即它已被弃用。请看下面,让我知道我做错了什么Node.js 我应该如何连接mongoose 5.8和mongodb?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我在用猫鼬。5.8.2并遵循在v3.5上运行mongoose的教程。我知道有一些变化,比如useNewUrlParser已被弃用,而我们使用useUnifiedTopology,但问题是,每当我使用useUnifiedTopology时,我都会得到一个错误,即它已被弃用。请看下面,让我知道我做错了什么 const mongoose = require('mongoose') mongoose.createConnection('mongodb://127.0.0.1:27017/task-ma
const mongoose = require('mongoose')
mongoose.createConnection('mongodb://127.0.0.1:27017/task-manager-api', {
useUnifiedToplogy: true,
useCreateIndex: true
});
const User = mongoose.model('User', {
name: {
type: String
},
age: {
type: Number
}
})
const me = new User({
name: 'Lallan',
age: '27'
})
me.save().then(() => {
console.log('Done')
}).catch((error) => {
console.log('error', error)
})
下面是错误,我无法连接mongoose和mongodb
the options [useUnifiedToplogy] is not supported
(node:6573) 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.
(node:6573) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
如何将mongoose与mongodb连接?最默认的连接将是
{useNewUrlParser:true}
。您可以使用createConnection()
(用于多个池)以及connect()
(单个池)
一个基本的例子是:
而且
如果需要创建其他连接,可以使用
mongoose.createConnection()
。这与数据库URI的形式相同
(使用主机、数据库、端口、选项等)作为connect()并返回
连接对象
像
也许试着这样做
const mongoose = require('mongoose');
let db_uri = "'mongodb://localhost:27017/mydb"
mongoose.connect(db_uri, {
useNewUrlParser: true,
useUnifiedTopology : true
});
mongoose.set('useCreateIndex', true);
mongoose.set('useFindAndModify', false);
仍显示此错误(节点:7030)弃用警告:当前服务器发现和监视引擎已弃用,将在将来的版本中删除。若要使用新的服务器发现和监视引擎,请将选项{useUnifiedTopology:true}传递给MongoClient构造函数。对于最近的评论,很抱歉,只需添加带有该选项的
useUnifiedTopology:true
。它将不再显示警告。
const db = mongoose.createConnection('mongodb://user:pass@localhost:port/database', opts);
const mongoose = require('mongoose');
let db_uri = "'mongodb://localhost:27017/mydb"
mongoose.connect(db_uri, {
useNewUrlParser: true,
useUnifiedTopology : true
});
mongoose.set('useCreateIndex', true);
mongoose.set('useFindAndModify', false);