特点
1.使用BSON存储数据
2.支持相对丰富的查询操作
3.支持索引
4.副本集(在其他服务器建立备份副本)
5.分片(数据分开)
6.无模式(一个集合的文档可以有不同的数据模式)
7.部署简单方便
服务的启动
运行的两种方式
1.直接在会话启动
mongod --dbpath /home/data --bind_ip 127.0.0.1 --port 51017 &
2.守护进程启动
mongod --dbpath /home/db --port 51017 --fork --syslog
使用系统日志,位于 /var/log/messages
mongod --dbpath /home/db --port 51017 --fork --logpath=/var/log/mong.log
指定日志文件
停止
1.mongodb --shutdown
2.杀死进程号
进入客户端
1.mongo
2.mongo 127.0.0.1:27017
操作
添加数据
use part9 不存在照样进入
db.user.insert({"uname":"Denry"}); #插入数据
创建集合,因为此时出于part9,会自动创建part9数据库加user集合
>show collections;
user
更新语句
(默认)更新单条数据
db.user.update(条件,{$set:{更新的数据}})
> db.user.update({"uname":"haha"},{$set:{"sex":"男"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
更新多条数据
db.user.update({"uname":"haha"},{$set:{"sex":"男"}},{multi:true})
multi:true代表多条符合条件的语句进行修改
save语句更新数据
>db.user.save({ "_id" : ObjectId("5b6660f18b3f80ecd3faf8e4"), "uname" : "Denryssss" })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
缺点:如果更新时没有指定其他语句,其他数据会丢失
(默认)删除所有符合条件的数据
db.user.remove({"id":"heheh"});
加入true
删除单条数据
db.user.remove({"id":"heheh"},true);
db.user.remove({}); #删除所有文档
db.user.drop() #删除所有文档加索引
查询集合数据
普通查询
> db.user.find()
{ "_id" : ObjectId("5b6660f18b3f80ecd3faf8e4"), "uname" : "Denry" }
根据id进行查询
db.user.find({"_id":ObjectId("5b6660f18b3f80ecd3faf8e4")})
根据数据进行查询
> db.user.find({"uname":"Denry"})
{ "_id" : ObjectId("5b6660f18b3f80ecd3faf8e4"), "uname" : "Denry" }
无模式增加不同文档
db.user.insert({"uname":"Jinying","sex":"女"});
WriteResult({ "nInserted" : 1 })
> show collections;
user
> db.user.find()
{ "_id" : ObjectId("5b6660f18b3f80ecd3faf8e4"), "uname" : "Denry" }
{ "_id" : ObjectId("5b66621a8b3f80ecd3faf8e5"), "uname" : "Jinying", "sex" : "女" }
_id所有文档必须有,mongodb获取文档主要通过这个id获取
获取数量(链式语法,类似管道)
db.user.find().count()
1 条评论
文字如刀,剖开表象直抵本质。