使用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 ... 昨天听了腾讯2015校招的在线宣讲会,看到了游戏技术大拿Steven,他总结了需要的达人得爱技术,能坚持,够挑剔.马上校招了,加油吧,骚年~ 网上关于cocos2d-x的面试题比较少,这里搜集和整理了 ... ERWin里面线代表实体间的三种关系:决定关系(Identifying Relationship),非决定关系(None-Identifying Relationship),多对多(Many-To-M ... getopts的使用 语法格式:getopts [option[:]] [DESCPRITION] VARIABLE option:表示为某个脚本可以使用的选项 ":":如果某个选 ... DatePicker支持鼠标点选日期,同时还可以通过键盘控制选择: page up/down - 上一月.下一月 ctrl+page up/down - 上一年.下一年 ctrl+home - 当前月 ... 1094. The Largest Generation (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ... 题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 首先定义两个栈 Stack<Integer> stack1 = new Stack<I ... 一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ... 开发中,我们或多或少地接触了设计模式,但是很多时候不知道自己使用了哪种设计模式或者说该使用何种设计模式.本文意在梳理常见设计模式的特点,从而对它们有比较清晰的认知. JavaScript 中常见设计模 ... 前言: 之前我在kali上安装过中文输入法,并且写了一篇博文(Kali Linux安装中文输入法全纪录),这篇博文里的步骤是当时一边摸索一边记录下的,思路有点混乱,而且还同时安装了两种输入法.今天又安 ... 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45022631: 本文出自:[张鸿洋的博客] 1.引言 对于自定义属性,大家肯定 ...使用MongoDB在项目中实际运用的更多相关文章
随机推荐