学习主题:MongoDb
- Linux软件安装-安装mongodb
- 在Linux系统中如何启动mongodb?
执行 bin 目录中的 mongod 命令
- mongodb前置启动?
进入bin目录后执行:./mongod --dbpath /usr/local/mongodb/data/db
--后面跟data/db的相对路径或绝对路径都可以。
该方式启动后会占用前端进程,干不了别的事,退出ctrl+c
- mongodb后置启动?
在创建log,和mongodb.log日志文件后。需要--logpath 和 --fork指定。
- Mongodb中的数据类型有哪些?
String:字符串,常用数据类型,需指定utf-8编码格式
Integer:整型数值,用于存储数值(可分32、64位)
Boolean:布尔值
Double:双精度浮点值
Min/Max keys:将一个值的bson(二进制的json)元素的最低值和最高值相对比
Array:用于将数组或列表或多个值存储为一个键
Timestamp:时间戳,记录添加或修改具体时间
Object:内嵌文档
Null:创建空值
Symbol:符号,基本等同于字符串类型,一般用于采用特殊符号类型的语言
Date:日期,用UNIX时间格式存储当前日期或时间,也可以指定自己的日期时间
Object ID:对象ID,用于创建文档的ID
Binary data:用于存储二进制数据
Code:代码类型,用于存储js代码
Regular expression:存储正则表达式
- Mongodb的关闭方式?
前台:使用 Ctrl+C 关闭
后台:使用 kill 命令关闭 、 使用 MongoDB 的函数关闭 、 使用 mongod 命令关闭 MongoDB
- Mongodb的权限介绍?
Read :允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看 统计或访问 system.profile
userAdmin:允许用户向 system.users 集合写入,可以找指定数据库里创建、删 除和管理用户
clusterAdmin:只在 admin 数据库中可用,赋予用户所有分片和复制集相关函数的 管理权限
readAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的 userAdmin 权限
dbAdminAnyDatabase:只在 admin 数据库中可用,赋予用户所有数据库的 dbAdmin 权限
root 只在 admin 数据库中可用。超级账号,超级权限
- Mongodb创建用户的语法?
1)user:新建用户名。
2)pwd:新建用户密码。
3)customData:存放一些用户相关的自定义数据,该属性也可忽略。
4)roles:数组类型,配置用户的权限。
- Mongodb如何实现用户认证?
修改 mongodb.conf 配置文件,在文件中添加 auth=true 即可。
认证函数:db.auth(‘用户名’,’密码’)
- Mongodb如何实现角色更新?
db.updateUser("用户名", {"roles":[{"role":"角色名称"},{"更新项 2":"更新内容"}]})
- Mongodb如何完成密码更新?有几种方式,区别是什么?
两种:
- db.updateUser("用户名",{"pwd":"新密码"})
- db.changeUserPassword("用户名","新密码")
第一种还可以修改其他信息,第二种只能修改密码。
- Mongodb如何删除用户,前提是什么?
db.dropUser()函数可删除指定用户。删除成功后会返回 true。需要切换到创建用户时所指定的数据库,且具有 userAdminAnyDatabse 角色
- Mongodb如何创建删除数据库?
使用use语句切换数据库,如果该数据库不存在则将新建该数据库。
db.dropUser("用户名")
- Mongodb如何创建集合,查看删除集合?
创建集合:db.createCollection(name, options)
name: 要创建的集合名称。
options: 可选参数, 指定有关内存大小及索引的选项。
删除集合:db.集合名称.drop()
删除前提:先切换到需要删除集合所在的数据库(用户需要具备管理员角色)
- Mongo的文档操作?
插入文档分为哪几种,分别是什么?
插入单个文档:insert、save、insertOne(MongoDB3.2 以后的版本提供)
批量插入文档:insert、save、insertMany(MongoDB3.2 以后的版本提供)
通过变量插入文档:
单个插入:变量名=({变量值})、db.数据库名.insert(变量名)
批量插入:变量名=([{},{},{},....])、db.数据库名.insert(变量名)