Nodejs连接MongoDB实现一些小插件功能
cdkey生成
const express = require('express');
const random = require('string-random');
const MongoClient = require('mongodb').MongoClient;
const {addDays} = require("date-fns");
const app = express();
const databaseConfig={
url: "mongodb://user60031264:******@dds-bp18g2be9hptvwwm-pub.mongodb.rds.aliyuncs.com:3717/admin",
}
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
if (req.method == 'OPTIONS') {
res.send(200);
} else {
next();
}
})
function mongoConnect(){
return new Promise((resolve,reject)=>{
let mongoClient = new MongoClient(databaseConfig.url)
mongoClient.connect(function (err,db){
if(err){
console.log('数据库连接失败')
reject(err);
}
console.log('数据库连接成功')
resolve(db);
})
})
}
mongoConnect(databaseConfig.url).then((db)=>{
listenFunctions(db);
}).catch((err)=>{
console.log(err);
})
function listenFunctions(db){
app.get('/generateCdkey',function (req,resp){
let len=req.query.len||32;
let expireDay=req.query.expireDay||7
let cdkey=random(len);
let expireDate=addDays(new Date(),expireDay)
let obj={
cdkey:cdkey,
expireDate:expireDate
}
let dbo = db.db("tools");
dbo.collection("cdkey").insertOne(obj, function (err) {
if (err) throw err;
console.log("cdkey插入成功");
resp.send(cdkey)
});
});
}
app.listen(8889, 'localhost', function() {
console.log('服务器开启成功');
})