MongoDB学习笔记记录(C#)

1,MongoDB数据库构成:集合(表),文档(一行记录),键(列),键值(列值)

C#添加引用:
MongoDB.Bson.dll
MongoDB.Driver.dll

2, 建立连接

using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
............

myConDBStr="mongodb://192.168.0.3";//"mongodb://localhost";
// 远程数据库的IP字符串//访问本地数据库字符串
MongoClient myMC = new MongoClient(myConDBStr);
MongoServer myMS=myMC.GetServer();
MongoDatabase myMDB = myMS.GetDatabase("myDBName");
MongoCollection myMC=myMDB .GetCollection("myCollName");

3,插入数据1

BsonDocument myBD = new BsonDocument { {" myKey", "myKeyValue" } };//键,键值
myMC.Insert(myBD );//插入文档

4,插入数据2,更新多条

BsonDocument myBD = new BsonDocument ();
myBD.Set("myKey","myKeyValue");//多次使用此句,设置多列
myMC.Insert(myBD );//插入文档

5,更新数据1

IMongoQuery myQuery=Query.And(Query.EQ("myConditionkey","myConditionkeyValue"));//条件
IMongoUpdate myUpdate = MongoDB.Driver.Builders.Update.Set("key", "keyValue");//更新键以及键值内容
WriteConcernResult myWCR= myMC.Update(myQuery, myUpdate );//更新数据

6,更新数据2,更新多条

IMongoQuery myQuery= Query.And(Query.EQ("myConditionkey", "myConditionkeyValue"));
BsonDocument myBD = myMC.FindOneAs<BsonDocument>(myQuery);
myBD.Set("myKey","myKeyValue");//多次使用此句,设置多列
myUpdate = MongoDB.Driver.Builders.Update.Replace(myBD);
WriteConcernResult myWCR = myMC.Update(myQuery, myUpdate );

7,查找对应文档的对应键的键值

string myResultStr="";
BsonDocument myBD = new BsonDocument();
myBD = myMC.FindOneAs<BsonDocument>(Query.EQ("myConditionkey", "myConditionKeyValue"));
if (myBD == null) myResultStr="Error";
else myResultStr= myBD .GetValue("myKey").ToString();

8,查找集合所有文档

MongoCursor<BsonDocument> myMCBD = myMC.FindAllAs<BsonDocument>();
foreach (BsonDocument bd_i in myMCBD )//遍历
{
.....
}

9,删除特定的文档

IMongoQuery myQuery = Query.And(Query.EQ("myConditionKey", "myConditionKeyValue"));
WriteConcernResult myWCR= myMC.Remove(myQuery);

10,删除数据库,删除集合

myMDB.Drop();//删除数据库
muMC.Drop();//删除集合

11,使用DataGridView显示MongoDB相应的集合
法1:
首先建立和相应集合相同键值结构的类
(假定有数据库”MyMongoDB”,有集合”MyMongoColl”,集合有键(”_id”,”myNameKeyStr”,”myAgeKeyInt”,”MySexStr”)
DataGridView myDGV= new DataGridView();

Class:

public class MyMongoDBCollClass
{
    public ObjectId _id;
    public string myNameKeyStr{get;set;};
    public int myAgeKeyInt{get;set;};
    public string MySexStr{get;set;};
}
.........

MyMongoDBCollClass myMMDBC=new MyMongoDBCollClass ();
List<MyMongoDBCollClass> 
myConDBStr="mongodb://localhost";
//访问本地数据库字符串
MongoClient myMC = new MongoClient(myConDBStr);
MongoServer myMS=myMC.GetServer();
MongoDatabase myMDB = myMS.GetDatabase("MyMongoDB");
MongoCollection myMC=myMDB .GetCollection("MyMongoColl");

List<MyMongoDBCollClass> myListMMDBC=myMC.FindAllAs<MyMongoDBCollClass>().ToList<MyMongoDBCollClass>();
myDGV.DataSource=myListMMDBC;//

12,获得当前数据库中所有的集合名

.........
MongoDatabase myMDB = myMS.GetDatabase("MyMongoDB");
IEnumerable<string> myIList = myMDB.GetCollectionNames();


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值