一、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=1
enabled=1
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=27017/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的操作算是完工了,接下来就是对数据的操作了主要介绍一下增删改查四步操作
1、 新增
TestMongoDB testMongoDB = new TestMongoDB();
testMongoDB.Name = "新增";
testMongoDB.TestId = 2;
testMongoDB.Sex = 1;
MongoDBHelpers.GetMongoTest.InsertOne(testMongoDB);
2、 删除
MongoDBHelpers.GetMongoTest.DeleteOne(x => x.Name == "新增");
3、 修改
var oldValue = Builders<TestMongoDB>.Filter.Eq("Name","新增");
var newValue= Builders<TestMongoDB>.Update
.Set("Name", "修改")
.Set("TestId", "3")
.Set("Sex", "1");
MongoDBHelpers.GetMongoTest.UpdateOne(oldValue, newValue);
4、 查询
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进行操作了。