cec*_*eco 7 .net c# mongodb mongodb-.net-driver
我提出一个简单的模型:
public class UserDocument
{
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
public string DisplayName { get; set; }
public List<string> Friends { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我正在使用最新的C#驱动程序,它能够使用C#对象替换文档,该对象将自动更新其所有字段.问题是我想更新除用户朋友之外的所有字段,因为它是包含与其他文档的对象关系的字段.当然,我可以手动更新我想要更新的每个字段,这里只有两个.
但这个例子很简单,只是为了说明我的观点.实际上,字段更多,更新每个字段会更难.这将需要每条线路使用一条Set运营商.此外,必须以与更新自动生效相反的方式支持新添加的字段.
有没有办法实现这一点 - 只需指定排除字段列表自动更新所有字段?
没有办法,使用提供的构建器进行"黑名单"更新,该更新仅排除特定字段.
您可以查询旧文档,将这些字段的旧值复制到新实例,然后在数据库中完全替换它.
您还可以通过使用反射迭代字段来生成此类更新命令.
但MongoDB驱动程序不提供内置的此类查询.
| 归档时间: |
|
| 查看次数: |
1267 次 |
| 最近记录: |