特点

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()



最后修改:2019 年 10 月 27 日
如果觉得我的文章对你有用,请随意赞赏