您的位置:首页 > 数据库 > Mongodb

MongoDB学习笔记记录(C#)

2015-08-08 21:09 483 查看
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 <
4000
span class="hljs-subst">= myMDB.GetCollectionNames();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb 数据库