@Wangww0925
2019-08-07T08:02:11.000000Z
字数 7925
阅读 206
NodeJs
crud: 增(create)删(delete)改(update)查(retrieve)
更多crud操作请查看https://docs.mongodb.com/manual
var url = "mongodb://localhost:27017/数据库名";
// MongoDB 2.x 版本的写法;db 代表当前的数据库对象
mongoclient.connect(url,(err,db)=>{
if(err){
res.send("数据库连接失败");
return
}
console.log("数据库连接成功", db);
})
// MongoDB 3.x 版本的写法;client 代表当前的数据库对象
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("数据库连接失败");
return
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test")
console.log("数据库连接成功", db)
})
db.collection("集合名").insertOne({}, (err,result)=>{
if(err){
res.send("插入失败");
return
}
console.log(result)
});
node执行的文件
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
//连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
// 插入一条数据
db.collection("login").insertOne({"name": "www"}, (err,result)=>{
if(err){
res.send("<h1>插入失败</h1>");
return;
}
res.send("<h1>插入成功</h1>");
client.close();
})
})
})
app.listen(8081);
db.collection("集合名").insertMany([{},...,{}], (err,result)=>{
if(err){
res.send("插入失败");
return
}
console.log(result)
});
node执行的文件
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
// 插入多条数据
db.collection("login").insertMany([{name:"a"},{name:"b"},{name:"c"}],(err,result)=>{
if(err){
res.send("<h1>插入失败</h1>");
return;
}
res.send("<h1>插入成功</h1>");
client.close();
})
})
})
app.listen(8081);
// doc 游标
// 方法一:
db.collection("集合名").find(条件,(req,doc)=>{
doc.each((err,data)=>{
if(err){
res.send("遍历失败");
return
}
console.log(data)
})
})
// 方法二:
var doc = db.collection("集合名").find(条件)
if(doc){
doc.each((err,data)=>{
if(err){
res.send("遍历失败");
return;
}
console.log(data)
})
}
PS:当查询所有数据的时候查询条件可以不写,或者写为{}
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
var result = [];
// 列出该集合的所有文档
db.collection("login").find({},(err,doc)=>{
doc.each(function(err,data){
if(err){
res.send("<h1>遍历失败</h1>")
return;
}
if(data != null){
result.push(data);
}else{
res.send(result);
client.close();
}
})
})
})
})
app.listen(8081);
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
var result = [];
// 精确匹配
db.collection("login").find({name: "www"},(err,doc)=>{
doc.each(function(err,data){
if(err){
res.send("<h1>遍历失败</h1>")
return;
}
if(data != null){
// console.log(typeof data);
result.push(data);
}else{
res.send(result);
client.close();
}
})
})
})
})
app.listen(8081);
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url, (err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
var result = [];
// 方法一:
db.collection("login").find({"age":{$gt: 50}}, (err,doc)=>{
doc.each(function(err,data){
if(err){
res.send("<h1>遍历失败</h1>")
return;
}
if(data != null){
// console.log(typeof data);
result.push(data);
}else{
res.send(result);
client.close();
}
})
})
// 方法二:
// var doc = db.collection("login").find({"age":{$gt: 25}});
// if(doc){
// doc.each((err,data)=>{
// if(err){
// res.send("<h1>遍历失败</h1>");
// return;
// }
// if(data != null){
// result.push(data);
// }else{
// res.send(result);
// client.close()
// }
// })
// }
})
})
app.listen(8081);
db.collection("集合名").update(find_obj, new_obj, function(err,result){
if(err){
res.send("<h1>修改失败</h1>");
return;
}
console.log("修改成功");
})
PS: 如果不指定修改多条数据{multi: true},则只修改第一条数据
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
// 更改所有匹配项目
// 只修改一条数据
db.collection("login").update({"name":"c"},{$set:{"age": 10}}, function(err,result){
if(err){
res.send("<h1>修改失败</h1>");
return;
}
res.send("修改成功");
client.close();
})
// 修改全部
// db.collection("login").update({"name":"c"},{$set:{"age": 80}}, {"multi":true},function(err,result){
// if(err){
// res.send("<h1>修改失败</h1>");
// return;
// }
// res.send("修改成功");
// client.close();
// })
})
})
app.listen(8081);
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
// 完整替换,不出现$set关键字了
db.collection("login").update({"name":"c"},{"age": 10}, function(err,result){
if(err){
res.send("<h1>修改失败</h1>");
return;
}
res.send("修改成功");
client.close();
})
})
})
app.listen(8081);
db.collection("集合名").remove(obj, function(err,result){
if(err){
res.send("删除失败");
return;
}
if(result.result.n <= 0){
res.send("<h1>删除失败</h1>");
return;
}
console.log(result)
})
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
// 只要匹配成功,就会删除
db.collection("login").remove({name: "a"},function(err,result){
if(err){
res.send("删除失败");
return;
}
// console.log(result)
if(result.result.n <= 0){
res.send("<h1>删除失败</h1>");
return;
}
res.send("<h1>删除成功</h1>");
client.close();
})
})
})
app.listen(8081);
var express = require("express");
var mongoclient = require("mongodb").MongoClient; // 数据库引用
var app = express();
app.get("/",(req,res)=>{
var url = "mongodb://localhost:27017/test"; //创建数据库连接地址
// 连接数据库
mongoclient.connect(url,(err, client)=>{
if(err){
res.send("<h1>数据库连接失败</h1>");
return;
}
// mongodb 3.x 以上的新写法, test是数据库名
var db = client.db("test");
// 删除全部
db.collection("login").remove({},function(err,result){
if(err){
res.send("删除失败");
return;
}
if(result.result.n <= 0){
res.send("<h1>删除失败</h1>");
return;
}
res.send("<h1>删除成功</h1>");
client.close();
})
})
})
app.listen(8081);
作者 wendy
2019 年 2月 1日