使用了Samus作为MongoDb的CS驱动,一段时间一直被不能指定_id感到很困扰,很麻烦,很不爽。
后来看了一篇文章:
http://www.cnblogs.com/huangxincheng/archive/2012/03/09/2386054.html
其中描述到可以加入Attribute:
[MongoAlias("_id")]
public string MyNewId{get;set;}
来指定_id
在2.4.3版本中,会引发异常, 需要使用[MongoId]来做这个工作
这样,只要我们的对象 MyNewId 是一致的,MongoDb就不会给你重复添加, 但是注意, 他会给你在相应的地方做Update!
比如:
mongoCollection.Save(userInfo4);
如果userInfo4.MyNewId 这个字符串在db中已经存在,那么db里面的这个对象会被 userInfo4覆盖