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 ...
随机推荐
- 给app增加itunes文件共享支持的功能
从网上查找的一些说法来看,是给app的plist配置文件中增加UIFileSharingEnabled,我后面查苹果官网的plist键值说明文档,也是这样说. 但实际上直接通过XCode打开plist ...
- 字符串连接,数字tostring,写入文件
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int x=2410; in ...
- C#微信json结构接收参数 转载
http://blog.csdn.net/u010773333/article/details/48524155 发素材的时间要上传资源故此要用json格式数据,需要转化. 微信服务器交互基本上都是j ...
- 适合最新版docker自定义启动配置
docker不断发布新版本,以前默认的在 /etc/default/docker里修改,但是新版已经不推荐了 注意: 一些文章推荐在 /lib/systemd/system/docker.servic ...
- 在windows上安装scikit-learn开发环境
操作系统:Windows 10 64位 1.安装python 前往https://www.python.org/downloads/下载对应操作系统的版本,笔者下载了32位的python 2.7.13 ...
- SeedDms 文档管理系统安装
在xampp下安装SeedDms 1.下载seeddms-quickstart-4.3.24.tar.gz,解压出来三个目录 \data\ \pear\ \seeddms-4.3.24\ 我把seed ...
- 织梦(dedecms)系统常用全局变量调用标签及路径
{dede:global.cfg_memberurl/} 指的是会员中心 对应/member/目录 {dede:global.cfg_cmsurl/} 对应的是网站根目录/ {dede:global. ...
- php中好用的时间函数
//查询数据30天的数据$y=date("Y",time());$m=date("m",time());$d=date("d",time() ...
- Uiautomator自动编译运行脚本
Uiautomator的编译运行过程需要输入好几个命令,太麻烦. 花了点时间写了个简单的bat.方便多了.id输入当前使用的SDK ID号(android list target命令可以查看到),cl ...
- 正则表达式python和C++对比
pattern格式(基本通用): pattern格式 符号 说明 ^ 匹配开头 $ 匹配结尾 . 匹配任意一个字符 [...] 匹配任意一个指定的字符 [^...] 匹配任意一个非指定的字符 * 匹配 ...