MongoDB基本操作(二)

MongoDB基本操作(二)

一.练习

①.向文档中插入20000条数据
第一种方法:
for(var i=0;i<=20000;i++){
db.zly.insert({num:i});
};//7.2s
在这里插入图片描述

第二种方法:推荐
var arr=[ ];
for(var i=1;i<=20000;i++){
arr.push({num:i});
};
db.zly.insert(arr);//0.4s
在这里插入图片描述
②.查询文档中num小于30的数据
在这里插入图片描述

db.zly.find({num:{$lt:30});
在这里插入图片描述
③.查询文档中大于30且小于40的数据
在这里插入图片描述
④.查询前10条数据
在这里插入图片描述
⑤.limit():设置显示数据的上限
在这里插入图片描述
⑥.skip():设置跳过指定数量的数据
分页 每页10条
1-10 0
11-20 10
21-30 20
skip((页码-1)*每页显示的条数)
limit与skip谁前谁后都行,MongoDB会自动调整位置
在这里插入图片描述
⑦.向数组中添加新的元素
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
MongoDB支持直接通过内嵌文档的属性进行查询,通过. 的形式来匹配
如果通过内嵌文档来对文档进行查询,此时属性名必须使用引号
在这里插入图片描述
⑧.查询文档中大于19998或者小于5的数据
在这里插入图片描述

二.文档之间的关系

①.一对一(one to one)
-在MongoDB中可以通过内嵌文档来体现一对一
在这里插入图片描述

②.一对多/多对一(one to many/many to one)
-在MongoDB中可以通过内嵌文档来体现一对多
在这里插入图片描述

③.多对多(many to many)
在这里插入图片描述

三.sort与投影

 -查询文档时,默认时按照_id属性的值进行排序(升序)
 -**sort()**可以用来指定文档的排序的规则,传递的对象: **1 升序   -1  降序**

在查询时,可以在find()的第二个参数位置设置查询结果的投影(想要显示的某一列) ,属性名:参数值 1 显示 0 不显示
在这里插入图片描述

四.Mongoose

  ①.简介:
  -是一个可以让我们通过Node来操作MongoDB的模块
  -是一个对象文档模型(ODM)库,他对node原生的MongoDB模块进行了进一步的优化封装,并提供了更多的功能
  -在大多数情况下,它被用来把结构化的模式应用到一个MongoDB集合,并提供验证及类型转换等好处

②.提供了新的对象
-Schema(模式对象):定义约束了数据库中的文档结构
-**Model:**作为集合中所有文档的表示,相当于MongoDB中的collections
-**Document:**表示集合中的具体文档,相当于集合中的一个具体文档

五.MongoDB的权限机制

 -不用输入命令就可以进入数据库,这是不允许的
 -解决方法:使用权限机制,开启**验证模式即可
设置验证模式:**
**第一步:添加超级管理员**

在这里插入图片描述
第二步:退出卸载服务
在这里插入图片描述

第三步:安装需要身份验证的MongoDB服务

注意:日志文件的文件名不能重复
在这里插入图片描述
第四步:超级管理员的登录
在这里插入图片描述

扫描二维码关注公众号,回复: 12411043 查看本文章

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置权限(必须在对应的数据库中创建用户)
-就是更换用户类型,不同的用户有不同的权限
在这里插入图片描述

六.备份与还原

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45775968/article/details/109816115