MongoDb的基本语法学习二
学习主题:MongoDb
- Mongodb的更新方式有?
3种: 1.update函数更新 2.使用更新操作符 3.使用save()函数更新
- Mongodb的update更新?
db.集合名.updata({查询条件},{更新内容},{更新参数(可选)})
- Mongodb的更新操作符有哪些 都是什么意思?
$set:用来指定一个键并更新键值,若键不存在并创建。
$inc:对文档某个数字型(只能为满足要求的数字)的键进行增减的操作
$unset 操作符:主要是用来删除键
$push 操作符:向文档的某个数组类型的键添加一个数组元素,不过滤重复的数据。添 加时键存在,要求键值类型必须是数组;键不存在,则创建数组类型的键
$pop 操作符:删除数据元素 1 表示从数组的尾部删除 -1 表示从数组的头部删除元素
$pull 操作符:从数组中删除满足条件的元素
$pullAll 操作符:从数组中删除满足条件的多个元素
$rename 操作符:对键进行重新命名
- Mongodb的save()更新?
save() 方法通过传入的文档来替换已有文档。 语法格式:save({文档}) 实现的是覆盖
- Mongodb删除文档的三种方式?
remove()函数:可删除集合中的指定文档,以及符合所有满足条件的。需要执行 db.repairDatabase() 来回收 磁盘空间
deleteOne()函数是官方推荐删除文档的方法。该方法只删除满足条件的条文档。
deleteMany 函数是官方推荐的删除方法。该方法删除满足条件的所有数据。
- Mongodb如何实对文档的查询,请举例说明?
find():
查询 title 为 DataBase 的文档并格式化显示
db.dev.find({title:"DataBase"}).pretty()
findOne():只返回满足条件的条数据。如果未做投影操作该方法则自带格式化功能。
通过//与^ $实现模糊查询:
查询文档中 title 的值含有 a 的内容 db.dev.find({title:/a/})
- Mongodb中的投影操作指的是?
在 find 函数中我们可以指定投影键,即只显示我们想要显示的键
- 条件运算符有哪些 分别什么意思?
$gt:大于操作符
$lt:小于操作符
$gte :大于或等于操作符
$lte :小于或等于操作符
$eq :等于操作符
$ne :不等操作符
$and :表示多条件间的并且关系
$or :表示多条件间的或者关系
8.1 and和or如何联合使用?
db.dev.find({$or:[{$and:[{title:{$eq:”test05”}},{size:500}]},{size:{$lt:400}}]})
- 每页显示5条查看第5页的数据如何实现?
db.dev.find({},{title:1,_id:0}).skip(20).limit(5)
- 如何实现排序,两个条件如何排序 如年龄一致按照分数排序?
使用 sort() 函数对查询到的文档进行排序,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于 降序排列。
- 如何创建索引?
db.COLLECTION_NAME.createIndex({创建索引的键:排序规则,......},{创建索 引的参数(可选参数)})
在创建索引时,需要使用具有 dbAdmin 或者 dbAdminAnyDatabase 角色的用户。 1 按照升序规则创建索引,-1 按照降序规则创建索引。
- 如何查看索引?
通过 getIndexes()或者 getIndexSpecs()函数查看集合中的所有索引信息
语法格式:db.COLLECTION_NAME.getIndexse()
语法格式:db.COLLECTION_NAME.getIndexSpecs()
- 删除索引有几种方式,分别举例说明?
db.COLLECTION_NAME.dropIndex("索引名称") 删除指定索引
db.COLLECTION_NAME.dropIndexes() 删除集合中的全部索引,_id 键的索引除
- 索引类型有哪些,有何作用?
单字段索引:单字段索引是指在索引中只包含了一个键。查询时,可加速对该字段的各种查询请 求,是常见的索引形式
复合索引:单字段索引的升级版本,它针对多个字段联合创建索引,先按个 字段排序,个字段相同的文档按第二个字段排序,依次类推。
交叉索引:就是为一个集合的多个字段分别建立索引,在查询的时候通过多个字段作 为查询条件,这种情况称为交叉索引
多 key 索引:当索引的字段为数组时,创建出的索引称为多 key 索引,多 key 索引会为数组的每个元 素建立一条索引。
索引:会保证索引对应的键不会出现相同的值,比如_id 索引就是索引
部分索引:是只针对符合某个特定条件的文档建立索引,3.2 版本才支持该特性
稀疏索引:仅包含具有索引字段的文档的条目,即使索引字段包含空值也是如此。索引会 跳过缺少索引字段的任何文档
覆盖索引:1. 所有的查询字段是索引的一部分 2. 所有的查询返回字段在同一个索引中
- 使用索引需要注意什么?
1、建立合适的索引
2、复合索引的字段排列顺序,匹配条件应该放在范围条件之前
3、查询时尽可能仅查询出索引字段
4、对现有的数据大表建立索引的时候,采用后台运行方式
- 索引限制指的是?
额外开销 内存使用 查询限制 大范围
相关文章