zoukankan      html  css  js  c++  java
  • MongoDB中的字段类型Id

    众所周知,在向MongoDB的集合中添加一条记录时,系统会自动增加一个字段名为"_id",类型为ObjectId的字段,其值为24位字符串,可以使用此值作为记录的唯一标识。

    项目中需要调用一个已存在的MongoDB,发现其每个collections都有一个字段"Id",而其值就是自动生成的那个"_id",这样就存在两个类型相同值也相同的字段,真是多此一举。

    List<mgdata> items = colMsg.FindAllAs<mgdata>().SetLimit(10).ToList<mgdata>();

    当用MongoDB Driver获取数据时,提示以下异常

    MongoDB.Bson.BsonSerializationException: Member 'Id' of class 'yourproject' cannot use element name '_id' because it is already being used by member '_id'.

    修改model如下后,可正常读取。(通过继承,让"_id","Id"两个属性不要同时平行出现)

    public class bsonItem
        {
            public BsonObjectId _id { getset; }
        }

    public class mgdata:bsonItem
        {
            public BsonObjectId Id { getset; }
            public string name { getset; }
            public DateTime date { getset; }
        }
  • 相关阅读:
    css3实现轮播2
    css3实现轮播1
    读阮一峰ES6笔记4:字符串的新增方法
    读阮一峰ES6笔记3:字符串的扩展
    应用流策略与检查配置结果
    配置流策略
    配置流行为
    配置流分类
    "流量监管"和"流量整形"的区别
    802.1p 优先级与内部优先级的映射关系
  • 原文地址:https://www.cnblogs.com/chy710/p/4692258.html
Copyright © 2011-2022 走看看