1、npm -s mongoose 安装
2、在项目根目录下新建mongo文件夹后新建index.js文件,index文件代码如下
'use strict'
const fs = require('fs')
const path = require('path')
const basename = path.basename(__filename)
const mongoose = require("mongoose");
const connectUrl = "mongodb://账号:密码@ip:端口/数据库名称";//url连接
const config = { poolSize: 400, useNewUrlParser: true, useCreateIndex: true, useUnifiedTopology: true };//连接配置
mongoose.connect(connectUrl, config);
mongoose.connection.on("error", function (error) {
console.log("********************************");
console.log("* mongodb connection error! *");
console.log("********************************");
});
mongoose.connection.once("open", function () {
console.log("********************************");
console.log("* mongodb connection success! *");
console.log("********************************");
});
/**
* 连接断开
*/
mongoose.connection.on('disconnected', function () {
console.log('mongodb connection disconnected');
});
fs.readdirSync(__dirname).filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js')
}).forEach(file => {
require(path.join(__dirname, file))(mongoose)
})//读取mongo文件夹下除index.js文件的其他文件(model文件)
module.exports = mongoose.models;//exports model
2、model定义,在mongo文件夹下新建user.js文件,代码如下:
module.exports = function (mongoose) {
return mongoose.model("User", new mongoose.Schema({
name: { type: String, default: "" },
passwrod: { type: String, default: "" },
createdAt: {
type: Date, default: function () {
return Date.now() + 8 * 60 * 60 * 1000;
}, index: { expires: "10d", background: true } //数据过期时间,到期自动删除,mongo时区不是北京时间,可以加8小时,也可以不加,加的话前端转换时区是0不是北京时间
}
}, { collection: "user", toObject: { virtuals: true }, toJSON: { virtuals: true } }))
}
// 其他参考mongoose 中文文档
3、 在其他文件中使用方法:
const { User } = require(../mongo);
User.find() //其他查询参考mongoose中文文档