MongoDB(学习笔记1.0)

news/2025/2/23 22:58:55

最近在学非关系型数据库MongoDB,猛地用起来的真的没关系型数据库方便啊。

首先还是数据库的安装:

安装直接去官网安装即可,官网地址:MongoDB: The Developer Data Platform | MongoDB

当前也有免安装版的,这里就不再介绍,官网安装也不麻烦。

这里就是官网首页,我们需要再产品products中找到社区版下载,企业版是付费版本,社区版免费下载。

 

 

然后自动就跳到了社区版的下载界面,往下拉,找到下载界面

 

从上到下依次是版本号、平台(一般是Windows、Linux、macos)、包扩展名(msi、zip) 。选择好点击download下载即可。

 双击打开即可,安装过程不再介绍,依次是next--同意协议next--选择路径next--是否安装登录环境(可选可不选,不选的话用navicat登录也是一样)--finish。

然后还需要下载一个扩展工具,才是一个完整的安装过程,就是mogod shell

还是刚才社区版安装的界面,下面有一个tools,点击即可,出现右边的安装界面,同样选择配置信息进行下载安装。

下载完毕后是 这样的

主要是bin文件夹下的文件,将这两个文件放到我们MongoDB安装目录的bin文件夹下

 

 然后在bin目录下输入cmd进行打开测试

 并输入mongod命令打开MongoDB服务器

 使用mongosh命令登入数据库进行管理

使用show dbs测试存在的数据库

 

使用use name【自己起的数据库名】命令创建数据库

这里我们如果使用show dbs测试就会不看到我们创建的数据库,没有内容前是看不到我们创建的数据库的。 

 然后我们使用db.createCollection("users")创建一个名为users的集合,这里就比较恶心了,这里的集合就是我们以前学的关系型数据库中的表,对应关系就是table对应collection。还有行列的对应也不一样,主键的对应还是primary key,这里是和关系型数据库是一样的。

我们执行该命令创建集合后,我们再次使用show dbs命令进行查看,就可以看到我们自己创建的数据库了。

其中,db.vesion() 是查看创建的数据库版本。

接下来演示删除数据库,使用命令db.dropDatabase()

 创建一个集合,大小为5M,最大存储文件内容为5000个文档

获取创建的表(集合) db.getCollectionNames()

 使用db.集合名.drop(),删除创建的集合。

在向集合插入数据的时候还出现了一个问题,原因是MongoDB的版本原因,有些命令已经不支持了。比如原来的db.集合名.save()就已经不能用了。

 它会提示.save is not a function.

所以我们使用insertOne(),insertMany()代替。

db.集合名.find()来查看我们对应集合的内容。

这里就体现了非关系型数据库的自由了,一开始我们使用的name,age字段并不是唯一的,再向里面插入数据的时候就可以随意改变字段名,以及字段的个数

 

使用db.集合名.remove来删除集合中的数据。

GG,发现remove()也即将被移除,使用deleteOne,deleteMany()来代替

 

 

update操作,命令也更新了,需要updateone/updateMany,有点恶心啊,还是第三方连接MongoDB数据库进行操作简单,使用命令操作太恶心了。

 这里使用$set就是修改制定字段的内容,

使用$inc就是增加制定字段的值,比如原字段age:10,执行$inc:10后就会变成20.

就先写到这里,删库跑路!!!

 

 

 


http://www.niftyadmin.cn/n/399183.html

相关文章

斩获阿里offer,这份258页面试宝典也太顶了....

测试三年有余,很多新学到的技术不能再项目中得到实践,同时薪资的涨幅很低,于是萌生了跳槽大厂的想法 但大厂不是那么容易进的,前面惨败字节,为此我辛苦准备了两个月,又从小公司开始面试了半个月有余&#…

详情API接口代购系统的运用PHP源码

随着电商平台的快速发展和普及,越来越多的人开始选择在网上购物。在这一过程中,电商详情API接口扮演着重要的作用,因为它们能够提供关于商品或服务的详细信息,使得用户能够更加全面地了解产品和服务,方便用户进行购买决…

onnx模型的修改与调试demo

主要参考: 模型部署入门教程(五):ONNX 模型的修改与调试 第五章:ONNX 模型的修改与调试 使用netron 可视化模型 读写onnx 构造onnx 创建一个描述线性函数 output axb 的onnx模型。 需要两个节点,第一个…

docker-compose中links和depends_on关键字学习总结

links link关键字用于在不同的容器之间创建网络链接。 它允许一个容器能够访问另一个容器的网络连接信息(如IP地址和端口)。 使用方法:在Docker Compose配置文件中,通过links关键字定义容器之间的链接关系。例如: ve…

XSS跨站脚本安全漏洞防护

文章目录 1 跨站脚本1.1 存储型XSS1.2 反射型XSS 2 、案例2.1 通过正则表达式替换跨站脚本2.2 构建请求的代理类,在构造方法中对请求中的内容进行分析2.3 构建响应的代理类2.4 通过Filter过滤掉请求和响应中的跨站脚本 3 测试3.1 在接口的body参数中添加一个脚本3.2…

深浅拷贝及赋值区别理解

浅拷贝: 对象浅拷贝Object.assign() 数组的浅拷贝Array.prototype.slice()与Array.prototype.concat() 解构赋值 1.对于数组/对象中基本数据类型[123,234],拷贝的是数值,所以修改拷贝后的这个值,原数据不会改变;2.对…

HarmonyOS/OpenHarmony应用开发-ArkTS语言声明式UI描述

ArkTS以声明方式组合和扩展组件来描述应用程序的UI,同时还提供了基本的属性、事件和子组件配置方法,帮助开发者实现应用交互逻辑。 一、创建组件 根据组件构造方法的不同,创建组件包含有参数和无参数两种方式。 说明,创建组件时不…

花3个月面过阿里测开岗,拿个25K不过分吧?

计算机专业,代码能力一般,之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发,第二份实习由于大三暑假回国的时间比较短(小于两个月),于是找的实习是在一家初创…