本篇,我们介绍下nodejs中操作mongodb 数据库。
mongodb是一款优秀的NOSQL文档型数据库,适用于并发大,海量数据的存储,与传统关系型数据库相比,它没有复杂的表关系(主外键等),支持的事务也比较脆,很多NOSQL数据库都未提供事务的支持,mongodb仅提供了数据库级别锁。 (此处省略500字......)
mongodb 也提供了nodejs官方驱动 。
04_mongodb.js
//04_mongodb.js
//介绍mongodb api的使用 , CRUD 分页、排序 等。
var mongodb=require("mongodb");
var MongoClient=mongodb.MongoClient;
var ObjectID=mongodb.ObjectID;
var sd = require('silly-datetime');
var dbUrl = "mongodb://localhost:27017/";
var dbName="myDB1";
//插入
function insert() {
MongoClient.connect(dbUrl, function(err, db) {
if (err) throw err;
var dbo = db.db(dbName);
var student= {name:'李四',sex:2,
birthday:'1993-09-08',phone:'13434343434',
email:'lisi@123.com', createtime:sd.format(new Date(), 'YYYY-MM-DD HH:mm:ss')
};
dbo.collection("t_student").insertOne(student, function(err, res) {
if (err) {
console.log(err);
}
console.log("插入成功");
db.close();
});
});
}
//查询
function find(callback) {
MongoClient.connect(dbUrl, function(err, db) {
if (err) throw err;
var dbo = db.db(dbName);
// dbo.collection("t_student"). find({name:/大/}).toArray(function(err, students) { // 返回集合中所有数据
dbo.collection("t_student"). find({name:'asdfasdfasdfasdfasdf'}).toArray(function(err, students) { // 返回集合中所有数据
if (err) throw err;
db.close();
callback(students);
});
});
}
//update 更新
function updateById(id) {
MongoClient.connect(dbUrl, function(err, db) {
if (err) throw err;
var dbo = db.db(dbName);
// var id="5a8fd415f043292b5084ac72";
var whereClause={'_id':ObjectID(id)}
var updateClause={$set: { "email" : "asdasd11@123.com" }};
dbo.collection("t_student").updateOne(whereClause,updateClause,function (err,res) {
if (err) throw err;
console.log(res); ///
console.log(res.result.nModified+"条文档被更新"); // { n: 1, nModified: 0, ok: 1 }
console.log("操作成功");
db.close();
})
});
}
//
function delById(id) {
MongoClient.connect(dbUrl, function(err, db) {
if (err) throw err;
var dbo = db.db(dbName);
var whereClause={'_id':ObjectID(id)};
dbo.collection("t_student").deleteOne(whereClause, function(err, result) {
if (err) throw err;
console.log(result);
console.log(result.result.n + " 条文档被删除");//
console.log("操作成功");
db.close();
});
});
}
var id="5a8fd415f043292b5084ac72";
//updateById(id);
//delById(id);
find(function (students) {
console.log("查询出学生列表如下:");
console.log(students);
});
// db.userInfo.find({name: /mongo/}); 模糊查询
//db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
//2018-02-20 13:43:05到2018-02-23 17:41:08
//时间区间查询 模糊查询
//db.t_student.find({createtime: {$gte: '2018-01-20 13:43:05',$lte: '2018-02-21 17:41:08'},name:/李/});
//express 中请求重定向
// res.redirect('/foo/bar');
// res.redirect('http://example.com');
//查询
// 升序:db.userInfo.find().sort({age: 1});
// 降序:db.userInfo.find().sort({age: -1});
// db.userInfo.find().skip(0).limit(10);//分页查询 第一页
// db.userInfo.find().skip(10).limit(10); //分页查询 第二页


阅读排行


Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1