Самый простой способ - обернуть стандартную коллекцию MongoCollection за вашими методами репозитория.Поскольку ваш репозиторий напечатан, вы можете просто создать типизированную коллекцию и удалить документы из этой коллекции.Вот пример реализации.
MongoCollection<T> collection = mongoserver.GetCollection<T>();
public void Delete(string id)
{
this.collection.Remove(Query.EQ("_id", id));
}
public void Delete(T entity)
{
this.Delete(entity.Id);
}
добавлено balexandre 27 июля 2013 года
с использованием FluentMongo , есть свойство, которое извлекает MongoCollection<T>
, которое полезно для сложных запросов, например, если мы хотим удалить все наши документы в нашей коллекции, мы напишем что-то вроде этого:
public void DeleteAll() {
var collection = myRepository.Collection;
collection.RemoveAll();
}
, есливы хотите вернуть подтверждение, что все документы действительно были удалены, используйте свойство Ok
public bool DeleteAll() {
var collection = myRepository.Collection;
return collection.RemoveAll().Ok;
}