星空网 > 软件开发 > ASP.net

C#开发接口——MongoDB

MongoDB提供的C#开发接口,先从下载开始,然后是插入、查询、更新。

先要开启MongoDB服务。

下载http://github.com/mongodb/mongo-csharp-driver/downloads.每个版本会有两个驱动模式,一个是.msi,一个是.zip。

VS:2013,MongoDB:3.2.0

打开VS2013,新建控制台程序,增加下载好的两个引用(MongoDB.Bson.dll,MongoDB.driver.dll)

1、插入数据

static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://127.0.0.1:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();
//MongoServer server = MongoServer.Create(connectionString);
//指定安全证书
MongoCredentials credential = new MongoCredentials("wander", "123456");
//获得一个"mongoDB"连接对象
MongoDatabase mydb = server.GetDatabase("test", credential);


//声明一个Collection对象
MongoCollection coll = mydb.GetCollection("t1");
//申请一个文档对象,用于存储数据
BsonDocument info = new BsonDocument
{
{"x",203},
{"y",102},
{"count",1}
};
//申请一个文档对象,用于存储数据,且用info作为它的嵌入式文档
BsonDocument doc = new BsonDocument
{
{"name","MongoDB"},
{"type","database"},
{"count",1},
{"info",info}
};
//调用collection的insert方法,将数据永久存储到磁盘上
coll.Insert(doc);


}

查询数据

static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://127.0.0.1:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();
//MongoServer server = MongoServer.Create(connectionString);
//指定安全证书
MongoCredentials credential = new MongoCredentials("wander", "123456");
//获得一个"mongoDB"连接对象
MongoDatabase mydb = server.GetDatabase("test", credential);


//声明一个Collection对象
MongoCollection<BsonDocument> coll = mydb.GetCollection<BsonDocument>("t1");
//获取t1表的第一条数据
BsonDocument bsdoc = (BsonDocument)coll.FindOne();
Console.WriteLine(bsdoc);
Console.ReadLine();
}

//更新数据
static void Main(string[] args)
{
//数据库连接字符串
string connectionString = "mongodb://127.0.0.1:27017";
//得到一个对象实例的连接
var client = new MongoClient(connectionString);
var server = client.GetServer();
//MongoServer server = MongoServer.Create(connectionString);
//指定安全证书
MongoCredentials credential = new MongoCredentials("wander", "123456");
//获得一个"mongoDB"连接对象
MongoDatabase mydb = server.GetDatabase("test", credential);


//声明一个Collection对象
MongoCollection<BsonDocument> coll = mydb.GetCollection<BsonDocument>("t1");
//定义一个查询对象,相当于SQL中的where语句
var queryDoc = new QueryDocument { { "name", "MongoDB" } };
//定义一个更新对象,相当于SQL中的set语句
var updateDoc = new UpdateDocument { { "$set", new BsonDocument("type", "NoSQL") } };

//将查询对象和更新对象作为参数传递给Update来完成更新
coll.Update(queryDoc, updateDoc);
Console.ReadLine();
}

C#开发接口——MongoDB

在操作上述代码时,我遇到一个错误,错误内容是

{"Command 'authenticate' failed: auth failed (response: { \"ok\" : 0.0, \"errmsg\" : \"auth failed\", \"code\" : 18 })"}
查找原因:在Shell里面创建用户,授权用户后,显示是成功,执行程序后依旧有问题。
解决办法:
use admin
show collections
db.system.users.remove({});
de.system.version.remove({});

db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })关键的一步
用户已清空了,现在要新建立用后,从3.2.0开始创建用户方式修改为:
use test
db.createUser(  {   user: "wander",   pwd: "123456",   roles: [ ]  })
db.auth("wander","123456");

问题解决了。



原标题:C#开发接口——MongoDB

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

京东刘强东:https://www.goluckyvip.com/tag/13830.html
京东自杀:https://www.goluckyvip.com/tag/13831.html
关税清单调整:https://www.goluckyvip.com/tag/13832.html
新泽西州:https://www.goluckyvip.com/tag/13833.html
苹果被诉讼:https://www.goluckyvip.com/tag/13834.html
DP World收购:https://www.goluckyvip.com/tag/13835.html
37号文今后是否会更新?一文详解关键信息 :https://www.kjdsnews.com/a/1836441.html
探讨内地人开设香港账户的可行性 :https://www.kjdsnews.com/a/1836442.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流