在MongoDB的官方文档中提到了upserts,因此编写upsert命令比编写以下命令更好:
if (_campaignRepo.Exists(camp))
{
_campaignRepo.DeleteByIdAndSystemId(camp);
}
_campaignRepo.Save(camp);
如果可能的话,希望有一种方法在数据库层面实现这种逻辑。那么,如果有一种方法进行upsert操作,该如何实现呢?
InsertOneAsync
方法。这不需要指定 ID 字段,因为 MongoDB 会在插入期间创建一个,但你也可以像 GUID 一样在不访问数据库的情况下创建这些 ID,所以这取决于你。更多信息请参见 C# 驱动程序文档:http://mongodb.github.io/mongo-csharp-driver/2.1/reference/driver/crud/writing/ - Mani Gandham