MongoDB数据库操作简单,使用方便,对于数据的操作十分方便,查询的数据也是能够很好地实现前后端的数据传输。
1、导入操作MongoDB数据库的模块,再利用MongoDB数据库操作有promise的特性,将对于数据库的操作封装成一个函数
function mongo() {
var mongoDB = require("mongodb").MongoClient;
var mongoUrl = "mongodb://localhost:27017/";
return new Promise((resolve, reject) => {
mongoDB.connect(mongoUrl, { useUnifiedTopology: true }, (err, db) => {
if (!err) {
resolve(db)
} else {
reject(err);
}
})
})
}
2、nodeJs开启服务,开始操作MongoDB数据库
const http = require("http");
const queruStr = require("querystring");
const dbUrl = require("url");
const server = http.createServer(async (req, res) => {
var { pathname, query } = dbUrl.parse(req.url);
res.writeHead(200, {
"Content-Type": "text/html;charset=utf-8"
})
var db = await mongo();
var dbo = db.db("users");
var obj = {}
switch (pathname) {
case "/add":
var myobj = queruStr.parse(query);
var { result: { n } } = await dbo.collection("site").insertOne(myobj);
if (n) {
obj = {
code: n,
data: true,
}
}
break;
case "/select":
var whereStr = queruStr.parse(query);
var result = await dbo.collection("site").find(whereStr).toArray();
if (result.length) {
obj = {
code: result.length,
data: true,
}
}
break;
case "/del":
var myobj = queruStr.parse(query);
var { result: { n } } = await dbo.collection("site").deleteOne(myobj);
if (n) {
obj = {
code: n,
data: true,
}
}
break;
case "/update":
var {user,pass} = queruStr.parse(query);
var myobj = {"user":user};
var updateStr = {$set: { "pass" : pass }};
var { result: { n } } = await dbo.collection("site").updateMany(myobj,updateStr);
if (n) {
obj = {
code: n,
data: true,
}
}
break;
}
db.close();
res.end(JSON.stringify(obj))
});
server.listen(10010, () => {
console.log("服务启动:post:10010")
})
对于操作MongoDB数据库的一些增删改查方法具体可以参考我之前的一篇博客MongoDB数据库常用操作(增、删、改、查)