使用MongoDB在项目中实际运用
一、MongoDB,一个数据库,我们怎么去使用它呢?我们首先了解一下什么是MongoDb
官网的介绍是:MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。
二、在Linux上安装MongoDB
创建文件
vi /etc/yum.repos.d/mongodb-org-3.6.repo
配置文件内容
[mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/ gpgcheck= enabled= gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
开始安装
sudo yum install -y mongodb-org mongod -repair
然后返回根目录去创建一个文件夹data并在其下面创建db来存储文件
cd .. mkdir data cd data mkdir db
启动MongoDB并查看状态
systemctl start mongod.service systemctl status mongod.service
创建管理员账号
1、 登录
mongo
2、创建管理员账号
mongo
use admin
db.createUser({user:"root",pwd:"root",roles:[{role: "userAdminAnyDatabase", db: "admin"}]})
找到配置文件并修改其内容
vi /etc/mongod.conf
找到 bindIp:127.0.0.1 修改为0.0.0.0 这样就可以任意ip进行连接
开启:27017端口
firewall-cmd --zone=public --permanent --add-port=/tcp; firewall-cmd –reload
停止重启mongodb
systemctl stop mongod.service systemctl restart mongod.service
这是我们在Linux上已经安装好了MongoDB,接下来就可以步入正题了,如何在项目中使用MongoDB
三、在.Net Core中使用MongoDB
这里我们首先准备一个.Net Core 的项目,然后在项目当中创建一个名叫MongoDBHelpers的类
public class MongoDBHelpers
{
/// <summary>
/// 建立MongoDB连接
/// </summary>
static MongoClient mongoClient = new MongoClient(“"mongodb://0.0.0.0:27017”);//自己的mongodb地址
/// <summary>
/// 获取MongoDB数据库(admin数据库)
/// </summary>
private static readonly IMongoDatabase database = mongoClient.GetDatabase("admin");
public static IMongoDatabase testDb { get { return database; } }
//连接需要操作的集合,如果数据库下面包含此集合就会添加数据,如果没有则会创建此集合
public static IMongoCollection<TestMongoDB> GetMongoTest => database.GetCollection<TestMongoDB>("Person");
}
在这里我们连接MongoDB的操作算是完工了,接下来就是对数据的操作了主要介绍一下增删改查四步操作
、 新增
TestMongoDB testMongoDB = new TestMongoDB();
testMongoDB.Name = "新增";
testMongoDB.TestId = ;
testMongoDB.Sex = ;
MongoDBHelpers.GetMongoTest.InsertOne(testMongoDB);
、 删除
MongoDBHelpers.GetMongoTest.DeleteOne(x => x.Name == "新增");
、 修改
var oldValue = Builders<TestMongoDB>.Filter.Eq("Name","新增");
var newValue= Builders<TestMongoDB>.Update
.Set("Name", "修改")
.Set("TestId", "")
.Set("Sex", "");
MongoDBHelpers.GetMongoTest.UpdateOne(oldValue, newValue);
、 查询
MongoDBHelpers.GetMongoTest.Find(x => x.Name == "新增").ToListAsync().GetAwaiter().GetResult();
在MongoDB的操作中会发现,与以往的SqlServer,Oracle的操作有点不同,修改的操作相对较为麻烦一点。但现在我们也完成了在.Net Core中对MongoDB的操作了。
四、查看MongoDB中的数据(Linux、客户端Studio 3T)
首先我们来了解在Linux中如何查看MongoDB数据库使用情况:
登录mongodb
mongo
查看数据库
show dbs
使用操作某一个数据库(使用admin)
use admin
操作数据
db.Person.find() //查询
db.Person.remove({"Name":"新增"}) //删除
db.Person.insert({"Name":"新增"} //新增
db.Person.update({"Name":"新增"},{"Name":"修改"}) 修改
上面就是Linux的一些操作,我们再看下如果实在windows上我们怎么去查看情况以及操作呢
Windows使用MongoDB的话需要下载客户端Studio 3T:https://studio3t.com/download/
然后按照提示一步一步安装即可,成功之后我们打开程序。

首先去创建一个连接

这里输入你MongoDB部署的ip地址即可连接,连接成功就可以对可以对MongoDB进行操作了。
欢迎大家扫描下方二维码,和我一起学习更多的知识
业精于勤,荒于嬉:行成于思,毁于随. 我们可以结合相关的IDE做一个简单的增删改查了,实现MongoDB在项目中的初步应用. 前提是安装了MongoDB服务和MongoDB可视化工具,没有安装的可以点 ... MongoDB简介 MongoDB是近些年来流行起来的NoSql的代表,和传统数据库最大的区别是支持文档型数据库. 当然,现在的一些数据库通过自定义复合类型,可变长数组等手段也可以模拟文档型数据库. ... .Net Core ORM选择之路,哪个才适合你 因为老板的一句话公司项目需要迁移到.Net Core ,但是以前同事用的ORM不支持.Net Core 开发过程也遇到了各种坑,插入条数多了也特别 ... 背景 在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数 ... MongoDB的基本使用 MongoDB特点: 使用BSON存储数据 支持相对丰富的查询操作(相对其他nosql数据库) 支持索引 副本集(支持多个实例/多个服务器运行同个数据库) 分片(数据库水平扩 ... 照前文 http://www.cnblogs.com/wtang/articles/4133820.html 给电脑设置了WebStorm的IDE的nodejs开发环境.新建了个express的网站 ... 想写博客很长时间了,因为一直身患懒癌,所以一直拖到了现在.markdown的语法也是刚刚学,试验一下效果好了不说了,直接上干货了.----------------------------------- ... 首先我们在命令行下先建立这个库: 然后我们在项目中引入mongodb的模块: var MongoClient = require('mongodb').MongoClient; var DB_STR ... 在前面几篇随笔中,介绍了PostSharp的使用,以及整合MemoryCache,<在.NET项目中使用PostSharp,实现AOP面向切面编程处理>.<在.NET项目中使用Pos ... 简书地址:https://www.jianshu.com/p/03a23aa28a34 今天重新学习了一下HTML中标签的用法,补充并记录一下自己新学到的知识. a中的href href Contai ... Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句-- 执行语句可以是单个语句或语句 ... Github地址:https://github.com/ZJW9633/hello-word/blob/master/Xingzhenke 题目分析: 10道题互相关联,耦合性强,暴力求解需4^10种 ... 一.js简介和变量 1.JavaScript的概述组成和特点 a.JavaScript 是脚本语言,是世界上最流行的编程语言,这门语言可用于 HTML 和 web,更可广泛 用于服务器.PC.笔记本电 ... 欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 首先这两个都与透明度有关,那么他们之间有什么具体的区别呢?在实际工作中我们需要注意什么呢?请您接着往下看 语法 1. rg ... 循环依赖 在使用Spring时,如果主要采用基于构造器的依赖注入方式,则可能会遇到循环依赖的情况,简而言之就是Bean A的构造器依赖于Bean B,Bean B的构造器又依赖于Bean A.在这种情 ... <!-- 模态框(Modal) --> <div class="modal fade" id="qst_loading" tabindex=& ... ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- getMapper的作用,获取到接口,直接通过点的方式调用方法,以免直接手打的方式写错方法名,(强类型的方式) ... app后端,也称为app后台,称呼不一样,但指的是同一个东西. 我一直都以app后端有啥用这个问题不用解释.但在网络上,有准备进行app创业的网友(是从传统行业过来的)问过这个问题,我这里就以app后 ... pycharm是一个很好的IDE,它还有一个功能直接通过这个IDE连接数据库,然后对数据库进行相关的操作,这样我们可以不用navicat for mysql这样的可视化工具了. 输入账号密码数据库 ...使用MongoDB在项目中实际运用的更多相关文章
随机推荐