Как удалить один "документ" по "ID" с помощью официального драйвера С# для MongoDB?

Может кто-нибудь показать мне, если есть лучший способ удалить один document из MongoDB с использованием официального драйвера С#, чем у меня below-

var query = Query.EQ("_id", a.Id);
database.GetCollection<Animal>("Animal").Remove(query);

Этот код работает, но мне кажется, слишком много работы. Команда "Сохранить" для example- берет экземпляр и обновляет его. Я хочу что-нибудь like- Remove(item).

Замечания: я пытаюсь использовать официальный драйвер С#, а не NoRM или Samus, который кажется устаревшим.

То, как вы это делаете. Я уверен, что вы это знаете, но если вы хотите поместить его на одну строку, вы можете объединить его, чтобы вам не нужно было определять переменную запроса:

collection.Remove(Query.EQ("_id", a.Id));
33
ответ дан 15 янв. '12 в 5:39
источник

Если [id] является строкой, вы должны явно использовать экземпляр ObjectId.

var query = Query.EQ("_id", ObjectId.Parse(id));
19
ответ дан 28 июля '14 в 0:35
источник

Самый простой способ

Удалить document из collection для С# MongoDB Driver (v2.0 или более поздняя версия) -

collection.DeleteOne(a => a.Id==id);

Or-

await collection.DeleteOneAsync(a => a.Id==id);
13
ответ дан 07 февр. '16 в 10:52
источник

Действие моего контроллера ASP.NET Core MVC принимает идентификатор в виде строкового параметра. Затем я разбираю его и использую результат в инструкции DeleteOne():

[HttpPost]
public IActionResult Delete(string id)
{
    ObjectId objectId = ObjectId.Parse(id);
    DbContext.Users.DeleteOne(x => x.Id == objectId);
    return null;
}
0
ответ дан 25 нояб. '17 в 14:27
источник