本项目提供了一个全面的.NET/C#版MongoDB封装库,简化了数据库操作流程,提高了开发效率。包含了常用的CRUD操作及高级查询功能。
操作MongoDB的C#封装提供了一种方便且灵活的方式来进行数据库操作,并支持继承功能。该库包含以下主要特点:
1. 实现了所有常见的数据库操作。
2. 提供了一个用于获取前台表格类数据的方法:`public List GetList(List lstColName, Document query, JqGridParam jqParam, ref int count)`,这将减少工程中的大量数据库访问代码。通过此方法,我们不再需要在控制层使用LINQ或在模型中封装以定义视图类。
以下是使用该库的一个示例:
```csharp
try {
// 初始化参数和操作对象
JqGridParam jqParam = new JqGridParam();
jqParam.page = 1;
jqParam.rows = 1000;
MemberOper memOper = new MemberOper();
MongoBasicOper monOper = new MongoBasicOper(DTName.GROUP_MEMBER);
int count = 0; // 数据总数
// 创建查询条件
Document query = new Document();
if (!string.IsNullOrEmpty(find)) {
MongoRegex reg = new MongoRegex(.* + find + .*);
query.Add(DColName.Name, reg);
}
query.Add(DColName.GroupId, g);
// 设置状态过滤条件
Document[] docStatus = new Document[]{
new Document(DColName.Status, RowStatus.Pass),
new Document(DColName.Status, RowStatus.Admin)
};
query.Add($or, docStatus);
// 定义要查询的列名集合
List lstColName = new List();
lstColName.Add(DColName.UserId);
lstColName.Add(DColName.UserName);
var lstRes = monOper.GetListEx(lstColName, query, jqParam, ref count); // 执行数据查询
JqGrid jg = new JqGrid();
if (count == 0) {
return Json(jg.toNull(jqParam), JsonRequestBehavior.AllowGet);
}
var jsonData = jg.toJson(jqParam, count, lstRes, lstColName);
jsonData.param = g;
return Json(jsonData, JsonRequestBehavior.AllowGet);
} catch(Exception e) {
// 处理异常
return Json(e.Message, JsonRequestBehavior.AllowGet);
}
```
这段代码展示了如何使用封装好的MongoDB操作类从数据库中获取数据,并将结果以JSON格式返回给前端。