zoukankan      html  css  js  c++  java
  • 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类型的,我无法把一个集合当成参数放进去,这个更新方法还必须指定一个要修改的字段,然后我就突然不知道怎么修改了。

    然后我就开始百度(自从谷歌突出中国以后我就开始百度了),结果能找到的都是基本的增删改查,哎,相当无助啊,

    希望有知道怎么做的能不吝赐教啊,万分感激啊

  • 相关阅读:
    win10通过ip连接打印机
    tarunexpectedeofinarchive
    软件工程设计阶段的几种图
    代码review checklist
    caffeine的使用
    thetrustanchorsparametermustbenonempty
    mysql explain type的详解
    scp对拷贝文件夹
    虚拟dom与diff算法
    线程池ThreadPoolExecutor的使用
  • 原文地址:https://www.cnblogs.com/bjjjunjie/p/4087642.html
Copyright © 2011-2022 走看看