數據庫常用操作命令
Bin/mongod run 啓動數據庫服務端。
bin/mongod.exe --dbpath d:/data/mongo 啓動數據庫服務端並且將數據庫目錄設定在該地址下。
run 直接啓動。例:./mongod run
--dbpath 指定特定存儲目錄啓動,若目錄不存在則創建。例:./mongod --dbpath /var/data/mongo
--port 指定端口啓動。例:./mongod --port 12345
bin/mongon.exe 啓動數據庫客戶端用命令行操作。
停止MONGO服務:
方法1:服務端停止,可使用Ctrl+C
方法2:在客戶端停止,可先連接客戶端
./mongo
並使用命令
db.shutdownerver()
然後退出客戶端
exit
啓動bin/mongodump.exe可以自動備份數據
bin/mongorestore.exe恢復一個mongo的dump備份數據
bin/mongoexport 導出一個數據表數據爲(json,csv)格式
bin/mongoimportjson 將json格式的數據導入數據表表
bin/mongofiles gridfs文件操作
注意事項
關閉web服務器操作系統之前必須先備份mongodb,然後關閉mongodb服務,在關閉或者重新啓動操作系統。
根據網上資料有人曾說直接關閉操作系統會導致mongodb緩存數據沒有被寫入硬盤。
要經常性的觀察mongodb數據總存儲的大小,避免數據過大造成寫入困難導致的數據丟失情況。
.Net開發幫助說明
開發類庫
MongoDB.Driver0.8.1
該版本仍然處於dbug狀態,但好在代碼比較簡單,因此希望在此基礎上構建適合自身操作的驅動層。
數據庫連接
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
mg.Disconnect();//關閉連接
新增數據
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
Document doc = new Document();//聲明數據類型
doc["name"] = "xto";//賦值
doc["login"] = "test";//賦值
col.Insert(doc);//插入數據
mg.Disconnect();//關閉連接
修改數據
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
Document query=new Document();//聲明查詢條件對象
query.Add("id",1);//查詢條件對象賦值
Document newdata = new Document();//聲明修改對象
newdata.Add("name","222");//修改對象賦值
col.UpdateAll(newdata,query,true);//更新數據
mg.Disconnect();//關閉連接
簡單查詢
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
Document query=new Document();//聲明查詢條件對象
query.Add("id",1);//查詢條件對象賦值
ICursor cur = col.FindAll();//查詢指針
foreach (Document docx in cur.Documents)
{
Response.Write(docx["id"]+"</br>");
}
mg.Disconnect();//關閉連接
分頁查詢
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
Document query = new Document();//聲明查詢條件對象
Document where = new Document();//聲明邏輯條件對象
where.Add("$gt",1);//邏輯條件對象賦值;含義:>1
query.Add("id",where);
ICursor cur = col.Find(query).Skip(10).Limit(100);//從第10條記錄開始查詢每頁顯示100條
foreach (Document docx in cur.Documents)
{
Response.Write(docx["id"]+"</br>");
}
mg.Disconnect();//關閉連接
複雜查詢
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
Document query = new Document();//聲明查詢條件對象
Document where = new Document();//聲明邏輯條件對象
where.Add("$gt",1);//邏輯條件對象賦值;含義:>1
query.Add("id",where);
ICursor cur = col.Find(query);
foreach (Document docx in cur.Documents)
{
Response.Write(docx["id"]+"</br>");
}
mg.Disconnect();//關閉連接
索引創建
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
Document index = new Document();//創建索引對象
index["id"] = 1;//索引對象賦值
col.MetaData.CreateIndex(index,true);//創建索引
mg.Disconnect();//關閉連接
刪除數據
Mongo mg = new Mongo(“localhost”,27087);//聲明數據庫操作類
bool result=mg.Connect();//打開連接
Database db = mg.getDB("db");//打開db數據庫
IMongoCollection col=db.GetCollection("table");//打開db數據庫中的table表
Document query = new Document();//創建刪除條件對象
query.Add("id", 1);//條件對象賦值
col.Delete(query,true);//刪除滿足查詢條件的記錄
mg.Disconnect();//關閉連接