MongoDB存储泛型List<User>集合
admin
2023-04-14 01:01:30
0

 protected virtual MongoConfigurationBuilder GetConfiguration()

        {
            var builder = new MongoConfigurationBuilder();
            builder.ReadConnectionStringFromAppSettings("tests");
            return builder;
        }
        //数据映射类(key,value)
        class ListInfo
        {
            public int key { get; set; }
            public object value { get; set; }
        }
        static void Main(string[] args)
        {
            var config = new MongoConfigurationBuilder();
            // COMMENT OUT FROM HERE
            config.Mapping(mapping =>
            {
                mapping.DefaultProfile(profile =>
                {
                    profile.SubClassesAre(t => t.IsSubclassOf(typeof(ListInfo)));
                });
                mapping.Map();
            });

            config.ConnectionString("Server=127.0.0.1");
            using (Mongo mongo = new Mongo(config.BuildConfiguration()))
            {
                mongo.Disconnect();
                mongo.Connect();
                try
                {
                    var db = mongo.GetDatabase("TestDb");
                    var collection = db.GetCollection();
                    //添加信息 需要就可以打开注释
                    ListInfo list = BindVendor();
                    collection.Save(list);
                    var coll = db.GetCollection("ListInfo");
                    var info = coll.Find(new Document().Add("key", 7888)).Documents.ToList();
                    string showinfo = "";
                    foreach (Document item in info)
                    {

                        var listd = item.Values.ToList();
                        showinfo += "编号:" + listd[1];
                        List items = (listd[2] as List);
                        foreach (var item1 in items)
                        {
                            var item2 = item1.ToList()[1].Value;
                            showinfo += "名称:" + item2;
                        }

                    }
                    Console.WriteLine(showinfo);
                }
                catch { }
            }
            Console.ReadKey();
        }

        #region 集合信息

        #region 添加信息到结合
        private static ListInfo BindVendor()
        {
            vendor square = new vendor()
            {
                vendorid = 2,
                vendorname = "西郊汽配城",
                itemid = DateTime.Now.Second
            };
            List list = new List();
            list.Add(square);
            ListInfo listinfo = new ListInfo()
            {
                key = 7888,
                value = list
            };
            return listinfo;
        }
        #endregion
        #region 实体类
        class vendor
        {
            public int vendorid { get; set; }
            public string vendorname { get; set; }
            public int itemid { get; set; }
        }
        #endregion

        #endregion

上一篇:Nodejs结合MongoDB

下一篇:深入浅出MongoDB

相关内容

热门资讯

亚太经合组织电信工作组第72次... 来源:上海证券报·中国证券网 上证报中国证券网讯 据工业和信息化部5月12日消息,5月11日,亚太经...
银星能源获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示银星能源(000862)新获得一项实用新型专利授权,专利名为“...
特朗普访华在即,随行商界大咖都... 美国总统特朗普将于5月13日至15日对中国进行国事访问。这是中美两国元首继去年10月釜山之后再次面对...
有线电视机顶盒安装问题求安装方... 有线电视安装说明: 一、将白色有线电视线一端连接有线电视终端盒另一端连接机顶盒后的射频输入口。 ...
60寸电视机尺寸画面长宽是多少...   60寸的液晶电视,60寸就是指电视屏幕对角线长度,因为长宽比有两种情况,经过寸转化为厘米计算之后...
长城电视机尺寸测量方法 长城电视机的尺寸测量方法与其他品牌的电视机测量方法基本相同。需要准备的工具有卷尺或直尺等测量工具,以...
伊朗学者:美伊能否达成协议,取... 伊朗5月10日就美国最新停战方案提交响应后,美国总统特朗普当天发文指出,伊方的响应“完全不可接受”。...
50英寸电视机尺寸是多少厘米 50 英寸电视机的尺寸通常是指屏幕对角线的长度,1 英寸约等于 2.54 厘米,因此 50 英寸电视...
演员张凌赫成上市公司第六大股东... 【大河财立方消息】 5月12日,节能风电在互动平台回应近期传言:关于近期网络流传的“公司股东张家玮先...
3D电视怎么样 最佳回答 你好这位网友,现在的很多电视机都是带3d功能的,只不过这种功能是需要通过特殊的VR眼镜才能...