#c# #mongodb #mongodb-.net-driver #removeall
#c# #mongodb #mongodb-.net-driver #удалить все
Вопрос:
Что я действительно хочу знать, так это то, будет ли следующая операция пытаться удалить все документы, даже если один из них не может быть удален по какой-либо причине:
Использование драйвера MongoDB C #:
collection.Remove(Query<T>.Where(predicate));
Я хочу знать это, потому что я выполняю операцию отката и хочу удалить все документы, соответствующие запросу, даже если документ по какой-то причине не может быть удален.
Удалите как можно больше…
Будет ли эта операция вызывать исключение, если документ не может быть удален или будет продолжаться до конца и возвращать ошибку в конце?
Спасибо.
То, что я использовал сначала:
bool success = true;
#region Delete everything
try
{
foreach (Person person in persons)
{
try
{
PersonRepository.Delete(person );
}
catch (Exception exception)
{
success = false;
}
}
}
catch (Exception exception)
{
success = false;
}
#endregion
Но я хочу заменить приведенный выше код на:
PersonRepository.Delete(Query<Person>.Where(p => p.Name == name));
Под методом удаления PersonRepository я использую сейчас:
collection.Remove(Query<T>.Where(predicate));
Будет ли это пытаться удалить всех пользователей, даже если ни один из них не может быть удален по какой-либо магической причине?
Комментарии:
1. Вы уверены? MongoDB не предоставляет ACID при записи нескольких документов в коллекции. Поддерживается только один документ для записи ACID.