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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 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在项目中的初步应用我们就介绍到这里了,

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

 

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
13天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
14天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
14天前
|
存储 SQL JSON
介绍一下RDBMS和NoSQL数据库之间的区别
【10月更文挑战第21天】介绍一下RDBMS和NoSQL数据库之间的区别
43 2
|
14天前
|
存储 SQL NoSQL
数据库技术深度探索:从关系型到NoSQL的演变
【10月更文挑战第21天】数据库技术深度探索:从关系型到NoSQL的演变
20 1
|
15天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
10 1
|
18天前
|
SQL JavaScript 关系型数据库
node博客小项目:接口开发、连接mysql数据库
【10月更文挑战第14天】node博客小项目:接口开发、连接mysql数据库
|
21天前
|
存储 NoSQL 搜索推荐
nosql
【10月更文挑战第14天】nosql
17 2
|
22天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
16天前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
20天前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
22 0