本篇,我们介绍下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