国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#開發接口——MongoDB

2019-11-14 13:33:57
字體:
來源:轉載
供稿:網友

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();
}

在操作上述代碼時,我遇到一個錯誤,錯誤內容是

{"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");

問題解決了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武胜县| 错那县| 峨山| 六安市| 平武县| 汕尾市| 视频| 绥化市| 策勒县| 邵东县| 福鼎市| 和龙市| 清涧县| 桐庐县| 麻江县| 富锦市| 锡林郭勒盟| 巢湖市| 新平| 治多县| 潮安县| 信宜市| 莫力| 昔阳县| 略阳县| 塔河县| 娄底市| 滕州市| 进贤县| 遂溪县| 印江| 华安县| 古丈县| 海门市| 海城市| 晋州市| 长乐市| 安仁县| 鄂温| 军事| 柳河县|