惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
Docker
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
C
Check Point Blog
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
M
MIT News - Artificial intelligence
B
Blog RSS Feed
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
美团技术团队
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale

博客园 - chy710

隐藏ASP.NET站点的head信息(Server/X-Powered-By/X-Aspnet-Version) Jenkins持续集成 入门实践 Docker入门实践 程序员该有的职业素养 ubuntu sudoers配置错误 MVC Json方法里的一个坑 日志分析工具 Log Parser 压力测试记录 Winscp使用sudo user登录 Linux下通过NFS共享文件夹 Jexus 5.4.6 on CentOS 6.6 数据传输过程的安全考虑 RSA密钥的跨平台通用 Nginx运行Mono Web (ASP.NET) CentOS升级MySQL到5.5 写给自己看的Linux运维基础(四) - python环境 Python模拟HTTP Post上传文件 Navicat for MySQL的服务器连接管理 C#修改文件权限
MongoDB中的字段类型Id
chy710 · 2015-07-31 · via 博客园 - chy710

众所周知,在向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; }
    }