MongoDB

一、基本概念

1、MongoDB与关系数据库的概念对比:

2、连接Mongodb

mongodb的使用方式是客户服务器模式,即使用一个客户端连接mongodb数据库(服务端)。

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

mongodb:// 固定前缀
username:账号,可不填
password:密码,可不填
host:主机名或ip地址,只有host主机名为必填项。
port:端口,可不填,默认27017
/database:连接某一个数据库
?options:连接参数,key/value对

也可以在MongoDB安装目录下的bin启动mongo.exe,前提要先启动服务端。


二、MongoDB常用命令

1、show dbs;列出所有数据库。

2、use DataBase_Name;创建数据库,如果已存在则切换到该数据库,否则创建,新创建的数据库不显示,最少显示一个集合的数据库。

3、db.dropDatabase();删除数据库,先切换到数据库,然后在删除。

4、db;当前在哪个数据库。


三、集合

集合相当于关系数据库中的表,一个数据库可以创建多个集合,一个集合是将相同类型的文档管理起来。

1、db.createCollection(name,options);创建name的集合,options参数可以省略。

2、db.collection.drop();删除collection集合。


四、文档

1、db.collection.insert(doc);在collection集合中插入文档doc,MongoDB会自动创建_id,类型是ObjectId与关系型数据库中的主键primary类似。

doc = {"empName":"张三","empAge":18,"empGender":"女"}
db.emps.insert(doc)

2、db.collection.remove();删除collection文档。remove函数里可以添加参数,例子如下:将会删除性别为女的文档。

db.emps.remove({"empGender":"女"})

3、db.collection.update(query,update,options);更新语法;

query:查询条件,相当于sql语句的where
update:更新文档内容
options:选项,可省略

4、$set修改器,使用$set修改指定要更新的key,key不存在则去创建,存在则去更新。

db.users.update({"_id":1},{$set:{"age":18,"name":"test01"}},{multi:true})
将符合条件,_id为1的所有文档改成年龄18,姓名test01
multi:false代表更新第一个匹配到的文档
       true代表将所有匹配到的文档全部更新

5、db.collection.find(query,projection);query:查询条件,可不填;projection:投影查询key,可不填;

6、db.collection.find();查询collection集合中的所有文档;

7、db.collection.find({"name":"test"});查询collection集合中所有name为test的文档;

8、db.collection.find({"name":"test",{name:1,age:1,_id:0}});查询name为test的文档,只显示name和age,_id不显示,如果不写_id:0,则会自动显示_id,其余字段除非设置成1,否则不显示。


五、用户管理

1、创建用户

use admin
db.createUser(
     {
       user:"root",
       pwd:"root",
       roles:[{role:"root",db:"admin"}]
     }
  )


内置角色如下:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3 . 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
dbAdminAnyDatabase
6. 超级用户角色:root

2、show users;查询当前库下所有用户

3、db.dropUser("用户名");删除用户

4、db.changeUserPassword("username","newPwd");修改密码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值