mongoose 连接数据库

270 阅读1分钟

文档日期:2021/2/2

参考文档:mongoose 5.x中文文档 链接地址

文档记录:刘俊雄

请先安装 MongoDB 和 Node.js。

下一步,npm安装Mongoose:

$ npm install mongoose

首先我们要在项目中引入 mongoose ,然后连接我们本地的 test 数据库。

// 引入 mongoose 模块
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');

你可以使用 mongoose.connect() 方法连接 MongoDB 。

mongoose.connect('mongodb://localhost/myapp');

这是连接到本地 myapp 数据库默认接口(27017)的最小配置。 本地连接失败可以尝试连接 127.0.0.1 。 local hostname 被修改有时候会引起问题。

你也可以在 uri 中指定多个参数:

// 接收回调的形式
mongoose.connect('mongodb://127.0.0.1:27017/test',function(err){
    console.log(err);
})

// 本人常用的是 promise 的这种写法
mongoose.connect('mongodb://127.0.0.1:27017/test')
.then(res=>{
    console.log('数据库连接成功')
})
.catch(err=>{
    console.log('数据库连接失败')
})

connect() 函数接受回调函数,或返回一个 promise

connect() 返回一个状态待定(pending)的连接, 接着我们加上成功提醒和失败警告。

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
  // we're connected!
});

keepAlive 注意事项

对于长期运行的后台应用,启用毫秒级 keepAlive 是一个精明的操作。不这么做你可能会经常 收到看似毫无原因的 "connection closed" 错误。遇到这个情况, 阅读这篇文章, 你或许会立刻启用 keepAlive:

mongoose.connect(uri, { keepAlive: 120 });

副本集(Replica Set)连接

要连接到副本集,你可以用逗号分隔,传入多个地址。

mongoose.connect('mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]][, options]');

还有一些不常用的内容,需要可以去官网文档查阅