NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用

简介: NoSql非关系型数据库之MongoDB应用(三):MongoDB在项目中的初步应用

业精于勤,荒于嬉;行成于思,毁于随。

 

我们可以结合相关的IDE做一个简单的增删改查了,实现MongoDB在项目中的初步应用。

前提是安装了MongoDB服务和MongoDB可视化工具,没有安装的可以点下面的路径去操作一下。

第一步:NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务

第二步:NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具

 

注:文档末尾附源码


1、创建项目

演示操作环境(其他环境也可以):

开发环境:Windows 10 专业版

系统类型:64 位操作系统, 基于 x64 的处理器

IDE:Visual Studio 2019 Community

数据库:MongoDB


创建一个项目名为MongoDBTest的Web API,net或者net core都可以,我这里以net core为例


 

2、在NuGet引用MongoDB动态链接库

需要在项目中引用 MongoDB.Bson MongoDB.Driver  注意是2.10.4版本的。

MongoDB.Bson是什么

BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。

BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想,

BSON有三个特点:轻量性、可遍历性、高效性

{“hello":"world"} 这是一个BSON的例子,其中"hello"是key name,它一般是cstring类型,字节表示是cstring::= (byte*) "/x00" ,其中*表示零个或多个byte字节,/x00表示结束符;后面的"world"是value值,它的类型一般是string,double,array,binarydata等类型。

MongoDB.Bson在MongoDB中的使用

  MongoDB使用了BSON这种结构来存储数据和网络数据交换。把这种格式转化成一文档这个概念(Document),因为BSON是schema-free的,

所以在MongoDB中所对应的文档也有这个特征,这里的一个Document也可以理解成关系数据库中的一条记录(Record),只是这里的Document的变化更丰富一些,如Document可以嵌套。

  MongoDB以BSON做为其存储结构的一种重要原因是其可遍历性。

MongoDB.Driver是什么

顾名思义,MongoDB.Driver是官网推出的连接MongoDB的驱动包,我们连接MongoDB需要依赖这个链接库。


2、创建MongoDB上下文连接工具类

引入 MongoDB.Bson 和 MongoDB.Driver包后就可以编写帮助类了,帮助类太多,帮助类可以自己拓展需要的方法,不过这里拓展的方法已经足够使用了。

创建一个上下文文件夹DbContexts,创建DBFactory帮助类,添加Bson和Driver的using引用,内容如下(文档末尾附源码里面有):

View Code


写好工具类我们就可以直接写增删改查了。


3、连接MongoDB编编写语句

3.1、插入

先定义实体类,下面就不在重复说定义实体了。

View Code

 

编写插入方法,注意看里面的注释,数据库连接的字符串格式、传值的类型等都有详细注释,这里就不进行啰嗦,直接上菜。

View Code

 

然后我们运行调用这个方法,查看一下数据库的值,很显然写入成功了。

 


3.2、查询

编写查询方法,然后调用这个方法。

View Code

需要注意的是,查询语句的数据库交互至少有一个条件


3.3、修改

编写修改方法,然后调用这个方法。

View Code


3.4、删除

编写删除方法,然后调用这个方法。

View Code

 


源码下载(git)

https://gitee.com/xiongze/MongoDBTest.git

https://gitee.com/xiongze/MongoDBTest


后语

NoSql非关系型数据库之MongoDB在项目中的初步应用我们就介绍到这里了,

有想法其他想法的可以在评论区留言讨论。

 

相关文章
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
12月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1261 79
|
9月前
|
人工智能 运维 NoSQL
云栖大会|AI浪潮下的NoSQL演进:下一代数据库的破局之道
AI浪潮下的NoSQL演进:下一代数据库的破局之道
|
存储 NoSQL 搜索推荐
NoSQL数据库分类概览
以上就是我们的NoSQL数据库奇幻之旅。每一种NoSQL数据库都有自己独特的魅力和专长,择选合适的数据库,就像在魔法世界中挑选最适合自己的魔杖,使你的数据管理变得更加高效和神奇。在当今数据驱动的时代,懂得这些数据库的秘密,就掌握了处理各种数据挑战的关键。
581 61
|
12月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
435 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
11月前
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。
|
存储 NoSQL 关系型数据库
【赵渝强老师】什么是NoSQL数据库?
随着大数据技术的兴起,NoSQL数据库(Not Only SQL)得到广泛应用。它不局限于二维表结构,允许数据冗余。常见的NoSQL数据库包括Redis、MongoDB和HBase。Redis是基于内存的高性能数据库,采用单线程模型和多路复用I/O,支持高效的数据结构。MongoDB使用BSON格式存储文档,查询语言强大,类似关系型数据库。HBase基于HDFS,适合数据分析,采用列式存储,支持灵活的列族设计。视频讲解及更多内容见下文。
981 79
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
572 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
897 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战

热门文章

最新文章

推荐镜像

更多