c#开发Mongo笔记第五篇
现在增删查改算是都完成了,但是查询算是有点不完美的,相信现在用juqeryeasyui这一类的插件的人应该也不少吧,这样的话前台展示需要JSON格式的数据,
好在mogno驱动提供toJson()的函数,但是却无法在前台显示,不知道是不是objectid导致的,下面是我通过firebug看到的请求数据。
{"total":"2","rows":[{ "_id" : ObjectId("545c395937d9dc8a18f0c51a"), "UserName" : "admin", "Password" : "81DC9BDB52D04DC20036DBD8313ED055", "CustomID" : CSUUID("21410650-4219-46eb-baac-3a207a570225") }, { "_id" : ObjectId("545c66438ef275179cd6b02b"), "UserName" : "tester", "Password" : "E10ADC3949BA59ABBE56E057F20F883E", "CustomID" : CSUUID("deb396b4-e90b-449a-86b2-957bc0fc7f06") }]}{"total":"2","rows":[{"_id":"545c395937d9dc8a18f0c51a","UserName":"admin","CustomID":"21410650-4219-46eb-baac-3a207a570225"},{"_id":"545c66438ef275179cd6b02b","UserName":"tester","CustomID":"deb396b4-e90b-449a-86b2-957bc0fc7f06"}]}
上边是toJson()函数生成的,不知道怎么能去掉objectid这样不和谐的东西,希望知道的大牛不吝赐教。
然后说话我的查询方法吧,我首先返回一个collection
public static MongoCollection GetCollection(){MongoDatabase db = MongoHelper.GetConnection();return db.GetCollection<User>("User");}
然后先把这个collection转成List集合再进行分页和查询操作
MongoCollection collection = DAL.DALUser.GetCollection();var list= collection.FindAllAs<User>();List<User> users = list.ToList();if (Request.QueryString["condition"] != null){searchstr = Request.QueryString["condition"];users = list.Where(u=>u.UserName.Contains(searchstr)).ToList();}
本想这样直接变成json的
// return Content("{\"total\":\""+list.Count()+"\",\"rows\":"+ users.Take(TakeNum).Skip(TakeNum*SkipNum).ToJson().ToString()+"}");
但是不可以,目前只好先自己拼json了。
然后说说更新吧,查询我也是先写了一个更新方法
public static void Update(IMongoQuery query,IMongoUpdate update){MongoDatabase db = MongoHelper.GetConnection();MongoCollection collection = db.GetCollection<User>("User");collection.Update(query, update);}
通过传参的方式进行修改,我觉得这样还是相对灵活的,然后调用方法如下
var query = Query.And(Query.EQ("_id", user._id));var update = Update.Set("Password", user.Password);DALUser.Update(query, update);
然后业务逻辑层去指定查询方法和具体需要修改的字段。
转载于:https://www.cnblogs.com/bjjjunjie/p/4081709.html
c#开发Mongo笔记第五篇相关推荐
- c#开发Mongo笔记第三篇
今天主要测试了一下查询功能了,当然了主要还是为了让查询可以和我们平时使用的实体对象关联起来,并且 那些BsonDocument和Collection我们操作起来不是太方便的 还是首先定义了一个用户类, ...
- Windows驱动开发学习笔记(五)—— SSDT HOOK
Windows驱动开发学习笔记(五)-- SSDT HOOK 系统服务表 系统服务描述符表 实验一:通过代码获取SSDT表地址 通过页表基址修改页属性 方法1:修改页属性 方法2:修改CR0寄存器 实 ...
- GTK+图形化应用程序开发学习笔记(五)—组装盒、组合表、固定容器构件
GTK+图形化应用程序开发学习笔记(五)-组装盒.组合表.固定容器构件 一.组装盒 组装盒(GtkBox)也称为组合构件.使用组装盒可以将多个构件放在一个容器中.容器可以把组装盒看作是一个构件.不像按 ...
- windows内核开发学习笔记十五:IRP结构
windows内核开发学习笔记十五:IRP结构 IRP(I/O Request Package)在windows内核中,有一种系统组件--IRP,即输入输出请求包.当上层应用程序需要访问底层输入输 ...
- Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件
Polyworks脚本开发学习笔记(十五)-用Python连接Polyworks的COM组件 用Polyworks脚本开发,没有高级语言的支持,功能难免单一,一些比较复杂的交互实现不了,界面和报告也很 ...
- Android学习笔记第五篇--网络连接与云服务(一)
Android学习笔记第五篇–网络连接与云服务 第一章.无线连接设备 除了能够在云端通讯,Android的无线API也允许在同一局域网内的设备通讯,**甚至没有连接网络,而是物理具体相近,也可以相 ...
- ArcGIS客户端开发学习笔记(五)——ArcGIS REST API基础
REST:表述性状态转移(REpresentational State Transfer)的简称,它定义了应该如何正确地使用Web标准. 目前我的水平还没到能够深入理解REST的地步,就连略懂皮毛都没 ...
- 嵌入式系统应用开发学习笔记(五):HLS
一. HLS是什么?与VHDL/Verilog有什么关系? HLS全称高层次综合(high level synthesis),采用C/C++等高级语言描述功能,可以降低FPGA代码的开发时间和验证时间 ...
- JavaWeb开发技术笔记(配置篇)
目录 1.基本概念 1.1. 前言 1.2 .web应用程序 1.3.静态web 1.4.动态web 2.web服务器 2.1.技术讲解 2.1.web服务器 3.Tomcat 3.1.tomcat介 ...
最新文章
- neutron linux网络命令,OpenStack Neutron网络组件介绍(重要)
- 知识表示与融入技术前沿进展及应用
- DRF url控制 解析器 响应器 版本控制 分页(常规分页,偏移分页,cursor游标分页)...
- 华为智能计算发布FusionServer Pro智能服务器
- python业余项目_学会这8个优秀 Python 库用于业余项目,将大大减少程序员耗费的精力...
- react改变checkbox的文字类型_reactjs – React复选框事件和处理程序的Typescript类型?...
- Qt之问题: Unknown module(s) in QT: multimedia
- php js 交互(js调用PHP代码执行)
- sop流程图模板_SOP模板-标准操作流程编写程序
- 有没有手机版_iQOO Neo 855版性价比神机:不到两千,充电一局玩十局
- vue 倒计时 插件_vue倒计时组件
- linux中iso文件怎么安装,linux系统安装iso文件方法
- U盘被写保护无法格式化的解决方法
- html中版权号怎么打,网站底部版权符号怎么打出来
- 数据分析项目: 链家房源分析
- jay chou歌词 文本下载数据下载
- 使用poi做excel导出时解决以文本格式存储的数字问题
- Go语言编程设计学习Day1:helloworld 变量 常量
- p标签换行导致的问题
- 软件工程团队队名_软件工程团队负责人的角色是什么
热门文章
- oracle pga建议值,Oracle PGA作用
- ajax请求url python,ajax请求方式
- mysql主库从库在同一台服务器_MySQL_MySQL 数据库两台主机同步实战(linux),当一个从服务器连接到主服务 - phpStudy...
- c语言lr分析器的设计与实现_Python3设计模式四 :状态模式
- java系列9:对象数组
- 神经网络核心基础:MP Model
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌1.54%
- 数据:以太坊2.0存款合约新增9.4万ETH
- TRC20-USDT流通量突破64亿枚
- SAP License:O2O模式网站解决方案概述