var express = require("express");
var app = express();
var MongoClient = require("mongodb").MongoClient;
app.get("/",function (req, res) {
//url就是数据库的地址,/表示数据库。如果没有数据库,程序会自动创建一个数据库
var url = "mongodb://127.0.0.1:27017/haha";
//链接数据库
MongoClient.connect(url, function (err, db) {
if(err){
console.log("数据库连接失败");
return;
}
console.log("数据库链接成功");
//插入数据
db.collection("student").insertOne({
"name":"小明",
"age":12,
"hobby":["睡觉","吃饭"],
"score":{"yuwen":59, "shuxue":80}
}, function (err, result) {
if(err){
return;
}
console.log(result);
res.send(result);
db.close();
});
});
});
app.listen(3000);
封装写法:
db.js
//这个模块里封装了所有对数据库的常用操作,不管数据库的什么操作,都需要连接数据库
var MongoClient = require("mongodb").MongoClient;
function _connectDB(callback) {
var url = "mongodb://127.0.0.1:27017/haha";
//链接数据库
MongoClient.connect(url, function (err, db) {
callback(err, db);
});
}
//插入数据
exports.insertOne = function (collectionName, data, callback) {
_connectDB(function (err, db) {
if(err){
callback(err, db);
return;
}
db.collection(collectionName).insertOne(data, function (err, result) {
callback(err, result);
db.close(); //关闭数据库
});
});
}
调用:
var express = require("express");
var app = express();
var db = require("./model/db.js");
app.get("/",function (req, res) {
db.insertOne("teacher", {"name":"小红", "age":14}, function (err, result) {
if(err){
console.log("插入失败");
return;
}
res.send("插入成功");
});
});