Anda tidak bisa.
Satu-satunya cara untuk melakukannya adalah dengan membungkus someotherRelationaldb.Save(object); dalam tangkapan percobaan, dan pada tangkapan, lakukan mongoCollection.Remove
Anda mungkin memerlukan properti pengenal yang dikenal di object dan kemudian dapat melakukan sesuatu seperti:
mongoCollection.Remove(Query.EQ("_id", object.Id));
Jadi, agak tidak rapi, metode Simpan Anda akan terlihat seperti:
private void Save(object)
{
mongoCollection.Save(object);
try
{
someotherRelationaldb.Save(object);
}
catch
{
mongoCollection.Remove(Query.EQ("_id", object.Id));
}
}
Cara lain adalah dengan menyimpan properti flag pada object yang diperbarui setelah yang berhasil menulis ke someOtherRelationaldb
Ini juga tidak terlalu ideal, tetapi Anda dapat mengubah kueri untuk hanya mengembalikan dokumen di mana IsPersisted bendera itu benar.
Tak satu pun dari pendekatan ini akan berfungsi dengan baik di lingkungan yang sangat ter-sharding meskipun menurut saya tidak.