[转载]MongoDB学习笔记(三) 在ASP.NET MVC模式下通过Jqgrid表格操作MongoDB数据

[转载]MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据 – lipan – 博客园.

看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作。表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据 来源是非关系型的数据库MongoDB。noSQL虽然概念新颖,但是MongoDB基本应用实现起来还是比较轻松的,甚至代码比基本的ADO.net访 问关系数据源还要简洁。由于其本身的“非关系”的数据存储方式,使得对象关系映射这个环节对于MongoDB来讲显得毫无意义,因此我们也不会对 MongoDB引入所谓的“ORM”框架。

下面我们将逐步讲解怎么在MVC模式下将MongoDB数据读取,并展示在前台Jqgrid表格上。这个“简易系统”的基本设计思想是这样的: 我们在视图层展示表格,Jqgrid相关Js逻辑全部放在一个Js文件中,控制层实现了“增删查改”四个业务,MongoDB的基本数据访问放在了模型层 实现。下面我们一步步实现。

一、实现视图层Jqgrid表格逻辑

首先,我们新建一个MVC空白项目,添加好JQueryJQueryUI、Jqgrid的前端框架代码:

然后在Views的Home文件夹下新建视图“Index.aspx”,在视图的body标签中添加如下HTML代码:

 

接着新建Scripts\Home文件夹,在该目录新建“Index.js”文件,并再视图中引用,代码如下:

<span class="pln">jQuery</span><span class="pun">(</span><span class="pln">document</span><span class="pun">).</span><span class="pln">ready</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
 
</span><span class="com">//jqGrid初始化</span><span class="pln">
jQuery</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">jqGrid</span><span class="pun">({</span><span class="pln">
url</span><span class="pun">:</span><span class="pln"> </span><span class="str">'/Home/UserList'</span><span class="pun">,</span><span class="pln">
datatype</span><span class="pun">:</span><span class="pln"> </span><span class="str">'json'</span><span class="pun">,</span><span class="pln">
mtype</span><span class="pun">:</span><span class="pln"> </span><span class="str">'POST'</span><span class="pun">,</span><span class="pln">
colNames</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="str">'登录名'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'姓名'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'年龄'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'手机号'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'邮箱地址'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'操作'</span><span class="pun">],</span><span class="pln">
colModel</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="pln">
</span><span class="pun">{</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="str">'UserId'</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">:</span><span class="pln"> </span><span class="str">'UserId'</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">180</span><span class="pun">,</span><span class="pln"> editable</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
</span><span class="pun">{</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="str">'UserName'</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">:</span><span class="pln"> </span><span class="str">'UserName'</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">200</span><span class="pun">,</span><span class="pln"> editable</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
</span><span class="pun">{</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Age'</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Age'</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">150</span><span class="pun">,</span><span class="pln"> editable</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
</span><span class="pun">{</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Tel'</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Tel'</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">150</span><span class="pun">,</span><span class="pln"> editable</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
</span><span class="pun">{</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Email'</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Email'</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">150</span><span class="pun">,</span><span class="pln"> editable</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
</span><span class="pun">{</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Edit'</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">:</span><span class="pln"> </span><span class="str">'Edit'</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> </span><span class="lit">150</span><span class="pun">,</span><span class="pln"> editable</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> align</span><span class="pun">:</span><span class="pln"> </span><span class="str">'center'</span><span class="pln"> </span><span class="pun">}</span><span class="pln">
</span><span class="pun">],</span><span class="pln">
pager</span><span class="pun">:</span><span class="pln"> </span><span class="str">'#div1'</span><span class="pun">,</span><span class="pln">
postData</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{},</span><span class="pln">
rowNum</span><span class="pun">:</span><span class="pln"> </span><span class="lit">5</span><span class="pun">,</span><span class="pln">
rowList</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="lit">5</span><span class="pun">,</span><span class="pln"> </span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="lit">20</span><span class="pun">],</span><span class="pln">
sortable</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
caption</span><span class="pun">:</span><span class="pln"> </span><span class="str">'用户信息管理'</span><span class="pun">,</span><span class="pln">
hidegrid</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
rownumbers</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
viewrecords</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pln">
</span><span class="pun">}).</span><span class="pln">navGrid</span><span class="pun">(</span><span class="str">'#div1'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> edit</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> add</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">del</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
</span><span class="pun">.</span><span class="pln">navButtonAdd</span><span class="pun">(</span><span class="str">'#div1'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
caption</span><span class="pun">:</span><span class="pln"> </span><span class="str">"编辑"</span><span class="pun">,</span><span class="pln">
buttonicon</span><span class="pun">:</span><span class="pln"> </span><span class="str">"ui-icon-add"</span><span class="pun">,</span><span class="pln">
onClickButton</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> id </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">getGridParam</span><span class="pun">(</span><span class="str">"selrow"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">id </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
alert</span><span class="pun">(</span><span class="str">"请选择行!"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">id </span><span class="pun">==</span><span class="pln"> </span><span class="str">"newId"</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">editRow</span><span class="pun">(</span><span class="pln">id</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_UserId"</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"readonly"</span><span class="pun">,</span><span class="str">"readOnly"</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">setCell</span><span class="pun">(</span><span class="pln">id</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Edit"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"<input id="</span><span class="typ">Button1</span><span class="str">" onclick="</span><span class="typ">Update</span><span class="pun">(</span><span class="pln">\&quot</span><span class="pun">;&</span><span class="pln">quot</span><span class="pun">;</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="pun">&</span><span class="pln">quot</span><span class="pun">;</span><span class="pln">\&quot</span><span class="pun">;)</span><span class="str">" type="</span><span class="pln">button</span><span class="str">" value="</span><span class="pun">提交</span><span class="str">" /><input id="</span><span class="typ">Button2</span><span class="str">" onclick="</span><span class="typ">Cancel</span><span class="pun">(</span><span class="pln">\&quot</span><span class="pun">;&</span><span class="pln">quot</span><span class="pun">;</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="pun">&</span><span class="pln">quot</span><span class="pun">;</span><span class="pln">\&quot</span><span class="pun">;)</span><span class="str">" type="</span><span class="pln">button</span><span class="str">" value="</span><span class="pun">取消</span><span class="str">" />"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}).</span><span class="pln">navButtonAdd</span><span class="pun">(</span><span class="str">'#div1'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
caption</span><span class="pun">:</span><span class="pln"> </span><span class="str">"删除"</span><span class="pun">,</span><span class="pln">
buttonicon</span><span class="pun">:</span><span class="pln"> </span><span class="str">"ui-icon-del"</span><span class="pun">,</span><span class="pln">
onClickButton</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> id </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">getGridParam</span><span class="pun">(</span><span class="str">"selrow"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">id </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
alert</span><span class="pun">(</span><span class="str">"请选择行!"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="typ">Delete</span><span class="pun">(</span><span class="pln">id</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}).</span><span class="pln">navButtonAdd</span><span class="pun">(</span><span class="str">'#div1'</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
caption</span><span class="pun">:</span><span class="pln"> </span><span class="str">"新增"</span><span class="pun">,</span><span class="pln">
buttonicon</span><span class="pun">:</span><span class="pln"> </span><span class="str">"ui-icon-add"</span><span class="pun">,</span><span class="pln">
onClickButton</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">addRowData</span><span class="pun">(</span><span class="str">"newId"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">editRow</span><span class="pun">(</span><span class="str">"newId"</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">setCell</span><span class="pun">(</span><span class="str">"newId"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Edit"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"<input id="</span><span class="typ">Button1</span><span class="str">" onclick="</span><span class="typ">Add</span><span class="pun">()</span><span class="str">" type="</span><span class="pln">button</span><span class="str">" value="</span><span class="pun">提交</span><span class="str">" /><input id="</span><span class="typ">Button2</span><span class="str">" onclick="</span><span class="typ">Cancel</span><span class="pun">(</span><span class="pln">\&quot</span><span class="pun">;</span><span class="pln">newId\&quot</span><span class="pun">;)</span><span class="str">" type="</span><span class="pln">button</span><span class="str">" value="</span><span class="pun">取消</span><span class="str">" />"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
 
</span><span class="com">//取消编辑状态</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> </span><span class="typ">Cancel</span><span class="pun">(</span><span class="pln">id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">id </span><span class="pun">==</span><span class="pln"> </span><span class="str">"newId"</span><span class="pun">)</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">delRowData</span><span class="pun">(</span><span class="str">"newId"</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">else</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">restoreRow</span><span class="pun">(</span><span class="pln">id</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">//向后台ajax请求新增数据</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> </span><span class="typ">Add</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">UserId</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#newId"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_UserId"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#newId"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_UserName"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Age</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#newId"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_Age"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Tel</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#newId"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_Tel"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Email</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#newId"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_Email"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
 
$</span><span class="pun">.</span><span class="pln">ajax</span><span class="pun">({</span><span class="pln">
type</span><span class="pun">:</span><span class="pln"> </span><span class="str">"POST"</span><span class="pun">,</span><span class="pln">
url</span><span class="pun">:</span><span class="pln"> </span><span class="str">"/Home/Add"</span><span class="pun">,</span><span class="pln">
data</span><span class="pun">:</span><span class="pln"> </span><span class="str">"UserId="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">UserId</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;UserName="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;Age="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Age</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;Tel="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Tel</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;Email="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Email</span><span class="pun">,</span><span class="pln">
success</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">msg</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
alert</span><span class="pun">(</span><span class="str">"新增数据: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> msg</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">trigger</span><span class="pun">(</span><span class="str">"reloadGrid"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">//向后台ajax请求更新数据</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> </span><span class="typ">Update</span><span class="pun">(</span><span class="pln">id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">UserId</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_UserId"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_UserName"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Age</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_Age"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Tel</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_Tel"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Email</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"#"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> id </span><span class="pun">+</span><span class="pln"> </span><span class="str">"_Email"</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
 
$</span><span class="pun">.</span><span class="pln">ajax</span><span class="pun">({</span><span class="pln">
type</span><span class="pun">:</span><span class="pln"> </span><span class="str">"POST"</span><span class="pun">,</span><span class="pln">
url</span><span class="pun">:</span><span class="pln"> </span><span class="str">"/Home/Update"</span><span class="pun">,</span><span class="pln">
data</span><span class="pun">:</span><span class="pln"> </span><span class="str">"UserId="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">UserId</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;UserName="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;Age="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Age</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;Tel="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Tel</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"&amp;Email="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">Email</span><span class="pun">,</span><span class="pln">
success</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">msg</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
alert</span><span class="pun">(</span><span class="str">"修改数据: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> msg</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">trigger</span><span class="pun">(</span><span class="str">"reloadGrid"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">//向后台ajax请求删除数据</span><span class="pln">
</span><span class="kwd">function</span><span class="pln"> </span><span class="typ">Delete</span><span class="pun">(</span><span class="pln">id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> </span><span class="typ">UserId</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">getCell</span><span class="pun">(</span><span class="pln">id</span><span class="pun">,</span><span class="pln"> </span><span class="str">"UserId"</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">.</span><span class="pln">ajax</span><span class="pun">({</span><span class="pln">
type</span><span class="pun">:</span><span class="pln"> </span><span class="str">"POST"</span><span class="pun">,</span><span class="pln">
url</span><span class="pun">:</span><span class="pln"> </span><span class="str">"/Home/Delete"</span><span class="pun">,</span><span class="pln">
data</span><span class="pun">:</span><span class="pln"> </span><span class="str">"UserId="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="typ">UserId</span><span class="pun">,</span><span class="pln">
success</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">msg</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
alert</span><span class="pun">(</span><span class="str">"删除数据: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> msg</span><span class="pun">);</span><span class="pln">
$</span><span class="pun">(</span><span class="str">"#table1"</span><span class="pun">).</span><span class="pln">trigger</span><span class="pun">(</span><span class="str">"reloadGrid"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

二、实现控制层业务

在Controllers目录下新建控制器“HomeController.cs”,Index.js中产生了四个ajax请求,对应控制层也有四个业务方法。HomeController代码如下:

<span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">HomeController</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ">Controller</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">UserModel</span><span class="pln"> userModel </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">UserModel</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ActionResult</span><span class="pln"> </span><span class="typ">Index</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">View</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">///</span><span class="pln">
</span><span class="com">/// 获取全部用户列表,通过json将数据提供给jqGrid</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="typ">JsonResult</span><span class="pln"> </span><span class="typ">UserList</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> sord</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> sidx</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> rows</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> page</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> list </span><span class="pun">=</span><span class="pln"> userModel</span><span class="pun">.</span><span class="typ">FindAll</span><span class="pun">();</span><span class="pln">
</span><span class="kwd">int</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">var</span><span class="pln"> query </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> u </span><span class="kwd">in</span><span class="pln"> list
</span><span class="kwd">select</span><span class="pln"> </span><span class="kwd">new</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
id </span><span class="pun">=</span><span class="pln"> i</span><span class="pun">++,</span><span class="pln">
cell </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="kwd">string</span><span class="pun">[]{</span><span class="pln">
u</span><span class="pun">[</span><span class="str">"UserId"</span><span class="pun">].</span><span class="typ">ToString</span><span class="pun">(),</span><span class="pln">
u</span><span class="pun">[</span><span class="str">"UserName"</span><span class="pun">].</span><span class="typ">ToString</span><span class="pun">(),</span><span class="pln">
u</span><span class="pun">[</span><span class="str">"Age"</span><span class="pun">].</span><span class="typ">ToString</span><span class="pun">(),</span><span class="pln">
u</span><span class="pun">[</span><span class="str">"Tel"</span><span class="pun">].</span><span class="typ">ToString</span><span class="pun">(),</span><span class="pln">
u</span><span class="pun">[</span><span class="str">"Email"</span><span class="pun">].</span><span class="typ">ToString</span><span class="pun">(),</span><span class="pln">
</span><span class="str">"-"</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">};</span><span class="pln">
 
</span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
total </span><span class="pun">=</span><span class="pln"> query</span><span class="pun">.</span><span class="typ">Count</span><span class="pun">()</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> </span><span class="typ">Convert</span><span class="pun">.</span><span class="typ">ToInt32</span><span class="pun">(</span><span class="pln">rows</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln">
page </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Convert</span><span class="pun">.</span><span class="typ">ToInt32</span><span class="pun">(</span><span class="pln">page</span><span class="pun">),</span><span class="pln">
records </span><span class="pun">=</span><span class="pln"> query</span><span class="pun">.</span><span class="typ">Count</span><span class="pun">(),</span><span class="pln">
rows </span><span class="pun">=</span><span class="pln"> query</span><span class="pun">.</span><span class="typ">Skip</span><span class="pun">(</span><span class="typ">Convert</span><span class="pun">.</span><span class="typ">ToInt32</span><span class="pun">(</span><span class="pln">rows</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Convert</span><span class="pun">.</span><span class="typ">ToInt32</span><span class="pun">(</span><span class="pln">page</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)).</span><span class="typ">Take</span><span class="pun">(</span><span class="typ">Convert</span><span class="pun">.</span><span class="typ">ToInt32</span><span class="pun">(</span><span class="pln">rows</span><span class="pun">))</span><span class="pln">
</span><span class="pun">};</span><span class="pln">
 
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">Json</span><span class="pun">(</span><span class="pln">data</span><span class="pun">,</span><span class="pln"> </span><span class="typ">JsonRequestBehavior</span><span class="pun">.</span><span class="typ">AllowGet</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">///</span><span class="pln">
</span><span class="com">/// 响应Js的“Add”ajax请求,执行添加用户操作</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ContentResult</span><span class="pln"> </span><span class="typ">Add</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> </span><span class="typ">UserId</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">UserName</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> </span><span class="typ">Age</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">Tel</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">Email</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">Document</span><span class="pln"> doc </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Document</span><span class="pun">();</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"UserId"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">UserId</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"UserName"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">UserName</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"Age"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Age</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"Tel"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Tel</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"Email"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Email</span><span class="pun">;</span><span class="pln">
 
</span><span class="kwd">try</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
userModel</span><span class="pun">.</span><span class="typ">Add</span><span class="pun">(</span><span class="pln">doc</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">Content</span><span class="pun">(</span><span class="str">"添加成功"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">catch</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">Content</span><span class="pun">(</span><span class="str">"添加失败"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">///</span><span class="pln">
</span><span class="com">/// 响应Js的“Delete”ajax请求,执行删除用户操作</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ContentResult</span><span class="pln"> </span><span class="typ">Delete</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> </span><span class="typ">UserId</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">try</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
userModel</span><span class="pun">.</span><span class="typ">Delete</span><span class="pun">(</span><span class="typ">UserId</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">Content</span><span class="pun">(</span><span class="str">"删除成功"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">catch</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">Content</span><span class="pun">(</span><span class="str">"删除失败"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">///</span><span class="pln">
</span><span class="com">/// 响应Js的“Update”ajax请求,执行更新用户操作</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ContentResult</span><span class="pln"> </span><span class="typ">Update</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> </span><span class="typ">UserId</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">UserName</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> </span><span class="typ">Age</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">Tel</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">Email</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="typ">Document</span><span class="pln"> doc </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Document</span><span class="pun">();</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"UserId"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">UserId</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"UserName"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">UserName</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"Age"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Age</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"Tel"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Tel</span><span class="pun">;</span><span class="pln">
doc</span><span class="pun">[</span><span class="str">"Email"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Email</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">try</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
userModel</span><span class="pun">.</span><span class="typ">Update</span><span class="pun">(</span><span class="pln">doc</span><span class="pun">);</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">Content</span><span class="pun">(</span><span class="str">"修改成功"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">catch</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> </span><span class="typ">Content</span><span class="pun">(</span><span class="str">"修改失败"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

三、实现模型层数据访问

最后,我们在Models新建一个Home文件夹,添加模型“UserModel.cs”,实现MongoDB数据库访问代码如下:

<span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">UserModel</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="com">//链接字符串(此处三个字段值根据需要可为读配置文件)</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> connectionString </span><span class="pun">=</span><span class="pln"> </span><span class="str">"mongodb://localhost"</span><span class="pun">;</span><span class="pln">
</span><span class="com">//数据库名</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> databaseName </span><span class="pun">=</span><span class="pln"> </span><span class="str">"myDatabase"</span><span class="pun">;</span><span class="pln">
</span><span class="com">//集合名</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> collectionName </span><span class="pun">=</span><span class="pln"> </span><span class="str">"userCollection"</span><span class="pun">;</span><span class="pln">
 
</span><span class="kwd">private</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pln"> mongo</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">private</span><span class="pln"> </span><span class="typ">MongoDatabase</span><span class="pln"> mongoDatabase</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">private</span><span class="pln"> </span><span class="typ">MongoCollection</span><span class="pln"> mongoCollection</span><span class="pun">;</span><span class="pln">
 
</span><span class="kwd">public</span><span class="pln"> </span><span class="typ">UserModel</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
mongo </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">(</span><span class="pln">connectionString</span><span class="pun">);</span><span class="pln">
mongoDatabase </span><span class="pun">=</span><span class="pln"> mongo</span><span class="pun">.</span><span class="typ">GetDatabase</span><span class="pun">(</span><span class="pln">databaseName</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> </span><span class="typ">MongoDatabase</span><span class="pun">;</span><span class="pln">
mongoCollection </span><span class="pun">=</span><span class="pln"> mongoDatabase</span><span class="pun">.</span><span class="typ">GetCollection</span><span class="pun">(</span><span class="pln">collectionName</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">as</span><span class="pln"> </span><span class="typ">MongoCollection</span><span class="pun">;</span><span class="pln">
mongo</span><span class="pun">.</span><span class="typ">Connect</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">~</span><span class="typ">UserModel</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
mongo</span><span class="pun">.</span><span class="typ">Disconnect</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">///</span><span class="pln">
</span><span class="com">/// 增加一条用户记录</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="str"><span></span><span class="pln"> </span><span class="pun"><</span><span class="str">/span> public void Add(Document doc)
{
mongoCollection.Insert(doc);
}
 
/</span><span class="com">//</span><span class="pln">
</span><span class="com">/// 删除一条用户记录</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">Delete</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> </span><span class="typ">UserId</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
mongoCollection</span><span class="pun">.</span><span class="typ">Remove</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Document</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"UserId"</span><span class="pun">,</span><span class="pln"> </span><span class="typ">UserId</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">///</span><span class="pln">
</span><span class="com">/// 更新一条用户记录</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> </span><span class="typ">Update</span><span class="pun">(</span><span class="typ">Document</span><span class="pln"> doc</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
mongoCollection</span><span class="pun">.</span><span class="typ">FindAndModify</span><span class="pun">(</span><span class="pln">doc</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Document</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"UserId"</span><span class="pun">,</span><span class="pln"> doc</span><span class="pun">[</span><span class="str">"UserId"</span><span class="pun">].</span><span class="typ">ToString</span><span class="pun">()</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="com">///</span><span class="pln">
</span><span class="com">/// 查找所有用户记录</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="com">///</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="typ">IEnumerable</span><span class="pln"> </span><span class="typ">FindAll</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
</span><span class="kwd">return</span><span class="pln"> mongoCollection</span><span class="pun">.</span><span class="typ">FindAll</span><span class="pun">().</span><span class="typ">Documents</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
 
</span><span class="pun">}</span><span class="pln">
</span>

四、小结

代码下载:http://files.cnblogs.com/lipan/MongoDB_003.rar

自此为止一个简单MongoDB表格数据操作的功能就实现完毕了,相信读者在看完这篇文章后,差不多都可以轻松实现MongoDB项目的开发应用了。聪明的你一定会比本文做的功能更完善,更好。下篇计划讲解linq的方式访问数据集合。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册