l 消耗磁盤空間
l 有12個節點的限制
l 不支援32bit
l 差勁的管理工具
l 不可靠的儲存
依據你電腦的版本安裝適合的MongoDB
l Move C:\Program …\MongoDB 2.6 Standard c:\
MongoDB 選擇新路徑
l Md \data\db 建立MongoDB儲存資料的資料夾
l Md \data\log 建立MongoDB 儲存啟動服務的日誌檔資料夾
l c:\
MongoDB\bin\mongod.exe 啟動Mongo server
注意: 切勿直接關閉喔~~
把它關閉了,就無法連線至mongo DB
l c:\
MongoDB\bin\mongo.exe 啟動Mongo Client
Ø show
dbs 顯示所有資料庫
Ø use blog 使用資料庫是blog
Ø 顯示所有資料
db.Post.find()
Ø
新增資料列
db.Post.insert({
欄位:“值”,
}) 儲存資料表Post
Ø
修改資料列
db.Post.update(
{欄位: “值”},修改條件設定
{$set
{ 欄位: “值”}}) 修改資料
Ø
刪除資料列
db.Post.remove(
{欄位: “值”},修改條件設定
)
三、MongoDB Server 如何開機自動啟動
請用命令提示字元視窗輸入以下指令
建立mongod.cfg 檔
echo logpath=c:\data\log\mongod.log> "C:\ MongoDB \mongod.cfg"
echo
dbpath=c:\data\db>> "C:\MongoDB\mongod.cfg"
|
建立自動執行的Mongo Server服務
sc.exe create
MongoDB binPath= "\"C:\ MongoDB\bin\mongod.exe\"
--service --config=\"C:\MongoDB\mongod.cfg\""
DisplayName= "MongoDB " start= "auto"
|
啟動服務名稱為:MongoDB
net
start MongoDB
安裝nuget 指令: Install-Package mongocsharpdriver
新增mongoDB
string connString = "mongodb://192.168.1.63:27017/blog";
MongoClient _client = new MongoClient(connString);
MongoServer _server = _client.GetServer();
_server.Connect();
// 連接到 db
MongoDatabase db = _server.GetDatabase("blog");
MongoCollection collection =
db.GetCollection("Post");
BsonDocument inserData1 = new BsonDocument{
{"Title","c# "},
{"Body","this is c#"},
};
collection.Insert(inserData1);
_server.Disconnect();
|
取得所有mongoDB資料
MongoCursor<Post> cursor = collection.FindAllAs<Post>();
var list = cursor.ToList();
radGridView1.DataSource = list.ToArray();
//宣告MongoleDB
對應的物件屬性
public class Post
{
public ObjectId Id //MongoDB 有預設id 類別為objectid
{
get;
set;
}
public string Title
{
get;
set;
}
public string Body
{
get;
set;
}
public int CharCount
{
get;
set;
}
}
|
刪除mongoDB資料
//刪除資料
var query = Query<Post>.EQ(p =>
p.Title, "c#");
collection.Remove(query);
|
修改MongoDB 資料
//修改資料
var query = Query<Post>.EQ(p =>
p.Title, "c# ");
var update = Update<Post>.Set(p =>
p.Title, "c# update");
collection.Update(query,
update);
or
ObjectId objctID= new ObjectId("54a3699d0e925b162c4e2fdd"); //取Id
collection.Save(new Post()
{
Id = objctID,
Title="c# ",
Body="update c# ''",
CharCount=10,
});
|
結論:mongoDB 提供可易擴充的欄位結構,但根據有經驗的人說MongoDB無法提供可靠性儲存資料,作者只是簡單提供MongoDB教學,還請各位想嘗試MongoDB的開發者先收集mongoDB的優缺點,再仔細想想自已的專案是否適用mongoDB。
五、文獻參考
沒有留言:
張貼留言