c#操作MongoDB驗證 全解析 增 -刪改查有空自己玩,
阿新 • • 發佈:2018-12-24
1.7mongo之前與之後C#可用驅動:使用vs2012以上版本的Nuget獲取官方原版MongoDB.Driver(官方git庫下載程式集也會缺少程式集,大可一試) 安裝沒有坑。。。隨便操作>>>> 可以不繫結IP 把bind_ip給刪掉 未建立使用者之前去掉--auth 啟動 :net start MongoDBService 或者 sc start MongoDBService刪除服務:sc delete MongoDBService 就登入預設賬戶了,詳細命令附在下邊吧
看本文之前應當對Mongodb有一丟丟了解 (mongo是什麼,幹什麼,怎麼幹,應該有個自己的想法)
啟動MongoDB: mongod --bind_ip 192.168.0.19 --logpath "D:\MongoPath\log\mongodb.log" --logappend --dbpath "D:\MongoPath" --auth --port 27017 --serviceName "MongoDBService" --serviceDisplayName "MongoDB" --install若不想安裝服務只是啟動的話可以把 --serviceName "MongoDBService" --serviceDisplayName "MongoDB" --install這一截刪掉
重點注意:建立使用者時需注意admin庫中先建立“test1”,密碼“test1” role:dbAdminAnyDatabase 的使用者, 自定義db中要建立readWrite與上句同名使用者,才能非本地區域網內驗證通過,目前測試是這個結果 當然 名稱可以隨意 不過必須同名才能在非localhost的機器上訪問資料庫 否則就是單機mongo了(本文僅代表個人測試觀點)建立使用者命令
use admin
db.createUser({user:"test1",pwd:"test1",roles:[{role:"dbAdminAnyDatabase",db:"mt001"}]})use newdb
db.createUser({user:"test1",pwd:"test1",roles:[{role:"readWrite",db:"mt001"}]})
本機登入 就新增環境變數 或者進入mongo安裝路徑cmd裡輸入mongo
mongo客戶端遠端登入 使用命令mongo 192.168.0.19:27017/mt001 -u test1 -p test1
若是程式呼叫就用連結字串 mongodb://test1:[email protected]:27017
常用的幾個命令
show dbsdbuse testshow collectionshelpdb.help()db.dropUser("cjl")db.user.help();db.user.drop();db.user.find();遠端呼叫測試C#程式碼
Console.WriteLine("使用者名稱:密碼@IP");
MongoUrl url = new MongoUrl("mongodb://" + Console.ReadLine() + ":27017/");
MongoClient client = new MongoClient(url);
Console.WriteLine("資料庫名:");
IMongoDatabase db = client.GetDatabase(Console.ReadLine());
Console.WriteLine("表名:");
var tab = db.GetCollection<BsonDocument>(Console.ReadLine());
while (true)
{
BsonDocument row = new BsonDocument();
row.Add("_id", Guid.NewGuid() + "");
Console.WriteLine("輸入插入的值測試");
row.Add("name", Console.ReadLine());
tab.InsertOne(row);
Console.WriteLine("成功!");
}