一、新建数据库操作
使用语法:
use DATABASE_NAME
use:用于切换/创建数据库,若不存在则创建,否则切换到指定数据库。
DATABASE_NAME:数据库名称。
执行use articledb命令,创建数据库articledb。
查看数据库
语法:查看全部数据库
show dbs
或者查看当前数据库,需要先切换到指定数据库
db
删除数据库
语法
db.dropDatabase()
db:表示当前数据库对象。
dropDatabase():用于删除当前数据库的方法。
二、集合操作
创建集合
语法
显示创建
隐式创建
db:表示当前数据库对象。
createCollection():创建集合方法。
DOCUMENT表示文档
COLLECTION_NAME表示集合名称
OPTIONS表示集合配置
insert():向集合中插入文档的方法
删除集合
语法
db:表示当前数据库对象。
COLLECTION_NAME表示集合名称
drop():删除集合方法
三、文档操作
文档插入
使用语法
或者
多文档
创建集合插入文档
执行"db.c1find()"命令,查看文档
文档更新
db:当前数据库对象。
COLLECTION_NAME:当前集合对象。
update():更新文档方法。
criteria:更新的查询条件,类似sql中的where。
objNew:新的对象和操作符,类似sql中的set。
upsert:不存在更新对象时,是否插入,默认为false
multi:默认为false,只更新查找到的第一个文档,反之更新所有。
将键contect的值由”喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有2升”更新为“喝水增加了尿量,能使有害物质及时排出体内”。
文档删除
删除单个
删除全部
db:当前数据库对象。
COLLECTION_NAME:当前集合对象。
remove():删除文档方法。
query:删除文档的条件,可选参数。
justOne:的boolean为true或1时,表示只删除查询出的第一个文档。
writeConcern:表示抛出异常级别。
文档简单查询
查询所有文档
查询所有文档,以易读的方式展示
db:当前数据库对象
COLLECTION_NAME:当前集合对象
find():查询所有文档方法
pretty():格式化查询返回结果
四、聚合查询
语法(略复杂)
其中“[]”不是必须的,可以省略
准备集合c5,插入文档(注意,一般不指定_id,键也不需要双引号)
使用$group操作符,将集合c5中的文档按type进行分组,具体命令如下。
五、索引
单字段索引
MongoDB支持在文档的单个字段上创建用户定义的升序/降序索引,因此被称为单字段索引(SingleField Index)。默认情况下,MongoDB中所有集合在“_id”字段上都有一个索引,用户也可以根据自己的需求添加额外索引来支持重要的查询和操作。由于MongoDB可以从任何方向遍历索引,因此对于单个字段索引和排序操作来说,索引项的排序顺序(即升序或降序)并不重要。
复合索引
MongoDB除了支持单字段索引外,还支持复合索引。所谓复合索引,就是包含多个字段的索引,一个复合索引最多可以包含31个字段。需要注意的是,若某字段属于哈希索引,则这时复合索引就不能包括该字段。
多键索引
若文档中的字段为数组类型,则每个字段都是数组中的一个元素,MongoDB将会为数组中的每个元素创建索引,因此被称为多键索引(Multikey Index)。多键索引允许通过匹配数组的一个或多个元素来查询包含该数组的文档。如果索引字段包含数组值,则MongoDB会自动确定是否创建多键索引,而无需显式地指定创建多键索引。
查看索引
语法
查看索引大小
语法
创建索引
语法
keys:指定索引键及排序顺序,该参数值为文档类型,key用于指定索引键,value指定排序顺序,1为升序,-1为降序。
options:用于控制创建索引的选项,常见选项有unique和name,其中unique描述建立的索引是否唯一,默认为false。name描述所创建索引的名称,默认情况下MongoDB会通过连接索引的字段名和排序顺序生成一个索引名称。
删除索引
语法
删除所有索引
删除单个索引