使用的mongodb net 驅動是:mongodb.driver.2.4.4
首先確定的是mongodb的bsondocument結構:
var document = new bsondocument ,
,, } },
};
其中,operation 中的bsondocument中的key,value鍵值對是可變長的,也就是說,不一定都是2個,根據需要,可能是2個,也可能是3個,4個等。
mvc的action實現:
public actionresult adminloglist(string name = "", datetime? start = null, datetime? end = null, int pageindex = 1, int pagesize = 10)
if (start.isnotnullandempty())
if (end.hasvalue)
var sort = builders.sort.descending("createtime");
var documents = collection.find(filter).sort(sort).tolist();
var query = documents.topagedlist(pageindex, pagesize);
return view(query);
}
查詢條件,乙個name,可以進行模糊查詢,乙個開始日期,乙個結束日期。按定義的bsondocument 文件中的createtime鍵進行降序排列。
以下是cshtml中的相關**,可能是都覺得cshtml中的實現**很簡單,因此我在網上搜尋n遍,找不到相關實現**。而對於我這樣第一次實現 mongodb 查詢的人來說,根本不知道如何實現。所以我列出了我的實現。
頭部部分:
@model pagedlist.ipagedlist@using mongodb.bson;
@using pagedlist.mvc;
查詢部分:
@using (html.beginform(viewcontext.routedata.values["action"].tostring(), viewcontext.routedata.values["controller"].tostring(), formmethod.post, new ))
列表及分頁實現部分,這部分感覺最難,各種嘗試,最終實現:
操作員
登入ip
操作
時間
@foreach (var item in model)
@html.pagedlistpager(model, page => url.action(viewcontext.routedata.values["action"].tostring(), new ),
new pagedlistrenderoptions
/頁",
displayitemsliceandtotal = true,
itemsliceandtotalformat = "共條記錄"
})
操作部分json分解實現原始碼:
$(function () );
self.html(str);
});});
在MongoDB中實現樂觀併發控制
說起來,自從接觸了mongodb以後,我在大小專案中就再也沒有接觸過關係型資料庫了。效能倒不是什麼主要問題,主要是方便,例如我可以在mongodb中直接儲存陣列,然後把其中的元素當作查詢條件,而在關係型資料庫中,則需要使用額外的 然後再join等等。當然,在mongodb中很難進行join,於是對於...
在MVC中處理異常的總結
無論是桌面程式還是web程式,異常處理都是必須的.一般的處理方式是,捕獲異常,然後記錄異常的詳細資訊到文字檔案或者資料庫中.在asp.net mvc中可以使用內建的filter handleerror來處理程式發生的異常。接下來,來看看如何在我們的mvc專案中使用。要讓handleerrorattr...
在MVC中處理異常的總結
無論是桌面程式還是web程式,異常處理都是必須的.一般的處理方式是,捕獲異常,然後記錄異常的詳細資訊到文字檔案或者資料庫中.在asp.net mvc中可以使用內建的filter handleerror來處理程式發生的異常。接下來,來看看如何在我們的mvc專案中使用。要讓handleerrorattr...