文档日期: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]');
还有一些不常用的内容,需要可以去官网文档查阅