国产探花免费观看_亚洲丰满少妇自慰呻吟_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");

問題解決了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昂仁县| 伊金霍洛旗| 靖安县| 嘉峪关市| 龙海市| 石棉县| 松原市| 开原市| 天全县| 金堂县| 内江市| 淅川县| 随州市| 新民市| 桐庐县| 报价| 博野县| 湘西| 胶南市| 江陵县| 吉木萨尔县| 安西县| 苍山县| 丹阳市| 怀远县| 奉新县| 榆林市| 林西县| 安图县| 高州市| 图木舒克市| 保康县| 宁远县| 江城| 浙江省| 玉龙| 法库县| 隆安县| 唐山市| 鲁甸县| 大连市|