使用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 ... Flaskrender_templatesessionurl_forredirectflashmake_responsejsonifyblueprintrequestabortgsend_from_d ... 最近公司准备升级spark环境,主要原因是生产环境的spark和hadoop版本都比较低,但是具体升级到何种版本还不确定,需要做进一步的测试分析.这个任务对于大数据开发环境配置有要求,这里记录一下配置 ... 如今Python程序员可以做深度学习算法实现人脸识别,得益于国外开源框架,虽然它不能达到face++和众多人脸识别公司,但实际应用并没有受到太大的压力.下图为tensorflow的5点定位加情感测试. ... //Java实现简单验证码功能 package project; import java.awt.Color; import java.awt.Font;import java.awt.Graphic ... ---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1 安装前准备工作 搭建环境所需要的安装文件已经下载好 ... char* GetDoubleStr(double value) { char buf[32]={0};//长度可以自定义 sprintf(buf,"%.8f",value);// ... #include <stdio.h> #define NUMBER 1000 int main(){ int isPrime[NUMBER]; ; i < NUMBER; i++){ ... 一.Set和Map关系 Set代表集合元素无序,集合元素不可重复的集合,Map代表一种由多个key-value组成的集合,map集合是set集合的扩展只是名称不同,对应如下 二.HashMap的工作原 ... 1099. Build A Binary Search Tree (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN ... 今天看了这方面的内容,感觉学到了一些东西: 首先,jdk是用来处理Java语言的, sdk是用来处理Java语言和硬件之间的关联的, eclipse是用来编写Java语言的, 通过对这方面的理解,加深 ...使用MongoDB在项目中实际运用的更多相关文章
随机推荐