【发布时间】:2011-11-01 10:14:43
【问题描述】:
我有以下对象:
public class Client
{
[BsonId]
public string Name { get; set; }
public List<string> Links { get; set; }
}
我可以毫无问题地创建/删除它。但是当我想更新名称时,它不起作用。
var query = Query.EQ("_id", id); //id - old name
var update = Update.Set("_id", name); //name - new name
Coll.Update(query, update);
据我所知,回答(来自评论)是获得额外 ID 的唯一方法:
对象:
public class Client
{
[BsonId]
public Id { get; set; }
public string Name { get; set; }
public List<string> Links { get; set; }
}
更新名称:
var query = Query.EQ("_id", ObjectId.Parse(id));
var update = Update.Set("Name", name);
Coll.Update(query, update);
【问题讨论】:
-
我没用过mongoDB c# api,但是
Update.Rename("_id", name);不应该是Update.Rename("name", name);吗? (_id => 名称) -
使用[BsonId],驱动将其序列化为_id
-
另一方面,我找到了可以的答案。只要你任何类型(数组除外)stackoverflow.com/questions/11090446/…
标签: mongodb mongodb-.net-driver