public void Save(IBlockChain transaction) { if (transaction.IsValid()) { var updateOptions = new UpdateOptions { IsUpsert = true }; FilterDefinition <IBlockChain> query = Builders <IBlockChain> .Filter.Eq("_id", transaction.Id); _collection.ReplaceOne( query, transaction, updateOptions ); } }