使用Mongodb存储数据
MongoDB 的基本使用 (1)特点:
使用BSON存储数据
支持相对丰富的查询操作
支持索引
副本集
分片
无模式
部署简单方便 (2)服务的启动:
MongoDB 运行的两种方式
启动命令的使用
1 2 mongod --dbpath=/data/db --port=27017 --fork --syslog mongod --shutdown
(3)命令行工具的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 mongo 127.0.0.1:27017 show dbs use member db.users.insert({"username" : "zhangsan" }); show collections db.users.find(); db.users.insert("username" : "lisi" , "group" : "admin" ); db.users.find().count(); db.users.find({"_id" : ObjeactId("" )}); db.users.update({"username" : "zhangsan" }, {$set : {"group" : "member" }}, {multi: true }); db.users.save({"_id" : ObjectId("" ), "group" : "admin" }); db.users.remove({"group" : "admin" }, true ); db.users.remove({}); db.users.drop();
使用 Mongoose 模块操作 MongoDB
模块介绍
配置与连接
Model 与 Schema
创建文档
删除文档
简单查询
条件语句
(1)使用npm包管理工具安装mongoose模块
(2)model.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var mongoose = require ("mongoose" );var uri = "mongodb://localhost/NodeJS" ;mongoose.connect(uri); var BookSchema = new mongoose.Schema({ name : String , author: String , publishTime: Date }); mongoose.model('Book' , BookSchema);
insert.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 var mongoose = require ('mongoose' );require ('./model.js' );var Book = mongoose.model('Book' );var book = new Book({ name : "Node" , author : "frank" , publishTime : new Date () }); book.author = 'zhangsan' ; book.save(function (err ) { console .log('save status : ' , err ? 'failed' : 'success' ); });
find.js
1 2 3 4 5 6 7 8 9 10 11 var mongoose = require ('mongoose' );require ('./model.js' );var Book = mongoose.model('Book' );Book.find({}, function (err, docs ) { if (err){ console .log('err: ' , err); return ; } console .log('result' , docs); });
findOne.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var mongoose = require ('mongoose' );require ('./model.js' );var Book = mongoose.model('Book' );Book.findOne({author : "zhangsan" }, function (err, doc ) { if (err){ console .log('err' , err); return ; } doc.author = "lisi" ; doc.save(); console .log('findOne result: ' , doc); });
remove.js
1 2 3 4 5 6 7 8 9 10 11 12 var mongoose = require ('mongoose' );require ('./model.js' );var Book = mongoose.model('Book' );Book.findOne({author : "lisi" }, function (err, doc ) { if (err){ console .log('findOne err: ' , err); return ; } if (doc){ doc.remove(); } })
condition.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var mongoose = require ('mongoose' );require ('./model.js' );var Book = mongoose.model('Book' );var cond = { $or : [ {author : "zhangsan" }, {author : "lisi" } ] }; Book.find(cond, function (err, doc ) { if (err){ console .log('find by cond err: ' , err); return ; } console .log('cond: ' , cond, 'result: ' , doc); });
在Express 项目中使用 Mongoose 待续…