c#开发Mongo笔记第七篇
开发到这里遇到了一些问题,哪到这里想请教一下大家
今天我完成的是菜单功能,
public class Menu
{
public ObjectId _id { get; set; } public int MenuId { get; set; }
public string Name { get; set; } public int ParentId { get; set; }
public string Url { get; set; } public string Icon { get; set; } public int OrderNo { get; set; } public string Descr { get; set; } }
首先是按照最常规的方式采用内键的方式完成的菜单。当我完成的时候突然想到既然Monogo结构这么松散,我为什么不把子菜单当成一个字段存进去呢,于是增加了一个字段
public List<Menu> Child = new List<Menu>();
存储到数据库的结构式这样的,

本以为一切顺利,但是却发现连最基本的插入子菜单的功能都实现不了了。
我添加菜单时通常都是先添加父级菜单,然后再给父菜单添加子菜单,那么就相当于去修改这么文档的child属性,
然后我用修改方法去写
parent.Child.Add(menu);
var queryid = Query.And(Query.EQ("MenuId", pid)); var update = Update.Set("Child",menu); DAL.DALMenu.Update(queryid, update);
那么问题来了,update.set()这个函数的第二个参数是bsonvalue类型的,我无法把一个集合当成参数放进去,这个更新方法还必须指定一个要修改的字段,然后我就突然不知道怎么修改了。
然后我就开始百度(自从谷歌突出中国以后我就开始百度了),结果能找到的都是基本的增删改查,哎,相当无助啊,
希望有知道怎么做的能不吝赐教啊,万分感激啊
c#开发Mongo笔记第七篇的更多相关文章
- c#开发Mongo笔记第八篇
到今天为止,Mongo开发的权限管理系统功能就做完了,剩下的就是完善构架,优化结构,只是现在c#操作Mongo的各种操作基本都掌握了 说到权限管理系统,其实再简单不过了,在关系型数据的是时代,我们通常 ...
- c#开发Mongo笔记第六篇
之前写的五篇比较得到了大家的积极反馈,也有个别高手对我写我写出的代码进行了指教. 其中提到的我写的查询方法性能有问题,我想了想,如果mongo不是延时加载的话,那我的查询就真的有问题了,就成了查询出来 ...
- c#开发Mongo笔记第四篇
今天是个伟大的日子,不得不说小苹果的歌词真是深入人心啊. 不过今天伟大并不是因为我种下一颗种子,而是我从今天不再写demo,而是进入项目的正式开发当中,毕竟项目时间有限(想必各位码农也都深有体会吧), ...
- c#开发Mongo笔记第三篇
今天主要测试了一下查询功能了,当然了主要还是为了让查询可以和我们平时使用的实体对象关联起来,并且 那些BsonDocument和Collection我们操作起来不是太方便的 还是首先定义了一个用户类, ...
- c#开发Mongo笔记第五篇
现在增删查改算是都完成了,但是查询算是有点不完美的,相信现在用juqeryeasyui这一类的插件的人应该也不少吧,这样的话前台展示需要JSON格式的数据, 好在mogno驱动提供toJson()的函 ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- c#开发Mongo笔记第二篇
写到第二篇不得不说是我之前犯了一个小错误,其实实现子表存储也是很简单的事,先说我想实现什么样的效果吧 就是用户表里有个成绩字段,成绩字段是个子表 其实实现这个功能也很简单,用面向对象的思想很好理解,子 ...
- c#开发Mongo笔记第一篇
现在开发的这个项目要用mongo数据库开发,发现网上的这方面教程还是比较少的,只能边看官方说明边进行开发,再开发过程中写下笔记,也算上是一个总结吧. 我开发使用的是vs2013了,驱动用的是最新的1. ...
- c#开发Mongo笔记第九篇
用skip略过少量的文档还是不错的.但是要是数量非常多的话,skip就会变得很慢,因为要先找到需要被略过的数据,然后再抛弃这些数据.大多数数据库都会在索引中保存更多的元数据,用于处理skip, 但是m ...
随机推荐
- C语言中数据类型取值范围的计算的理解与总结
c语言中,数据类型有short,int,long,char,float,double,然后除了浮点型只有 有符号数(signed)外,其他的数据类型都分为有符号(signed)和无符号(unsigne ...
- Storm Bolt接口
Bolt是Topology中数据处理的基本单元,也是Storm针对处理过程的编程单元.Topology中所有的处理都是在这些bolt中完成的. Bolt可以将数据项发送至多个数据流(Str ...
- context menu与submenu区别
http://blog.csdn.net/liuxiit/article/details/6819235 总结调用顺序: 点击“Menu" 键时,调用 onCreateOptionsMenu ...
- python的中文编码问题
下文转自 http://blog.csdn.net/mayflowers/article/details/1568852 1. 在Python中使用中文 在Python中有两种默认的字符 ...
- IIS与Apache同时使用80端口
如果我们在一台服务器即使用IIS作为WEB服务器,同时又想使用Apache作为WEB服务器,那么如何来公用80端口呢? 我们可以使用单IP地址来实现,但是在性能上有损失: 将apache设为使用80端 ...
- Codeforces 719E [斐波那契区间操作][矩阵快速幂][线段树区间更新]
/* 题意:给定一个长度为n的序列a. 两种操作: 1.给定区间l r 加上某个数x. 2.查询区间l r sigma(fib(ai)) fib代表斐波那契数列. 思路: 1.矩阵操作,由矩阵快速幂求 ...
- 使用nginx部署Yii 2.0\yii-basic-app-2.0.5
nginx.conf #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log noti ...
- 【caffe-windows】 caffe-master 之 matlab接口配置
平台环境: win10 64位 caffe-master vs2013 Matlab2016a 第一步: 打开\caffe-master\windows下的CommonSettings.props文 ...
- AX 2012 EP服务器配置多个环境
AX 2012 如何在一台服务器配置不同环境的EP站点 安装完EP后,修改对应站点的web.config文件,指定需要连接的客户端配置文件路径即可,如下图: ` ``````````````````` ...
- Linux下编译带x264的ffmpeg的配置方法,包含SDL2
一.环境准备 ffmpeg下载:http://www.ffmpeg.org/download.html x264下载:http://download.videolan.org/x264/snapsho ...