2015-09-16 2 views
3

Я пытаюсь создать метод DeleteAll в Монго, где я мог бы удалить несколько записей в один присесте бушель подачи метода списка объектов идентификаторов, которые будут удалено что-то вроде этогоМонго C# удалить несколько записей по идентификатору

protected virtual DeleteResult DeleteAll(List<ObjectId> listId, WriteConcern concern = null) 
     { 
      return MongoCollection 
       .DeleteManyAsync(ItemWithListOfId(listId)) 
        .Result; 
     } 

    protected FilterDefinition<T> ItemWithListOfId(List<ObjectId> id) 
    { 
     return Builders<T>.Filter.Eq("_id", id);    
    } 

не дает никаких ошибок, но не удаляет записи. Любая помощь?

+0

взгляните на HTTP: //pastie.org/4618039 –

+0

Я думаю, что это какая-то старая версия. У меня нет метода удаления, который я могу найти, это DeleteOneAsync и DeleteManyAync – Novice

ответ

3

Вместо Eq фильтра, вам нужен метод In фильтра, чтобы соответствовать id значения в списке, который является реализация MongoDB $in запрос

protected FilterDefinition<T> ItemWithListOfId(List<ObjectId> id) 
{ 
    return Builders<T>.Filter.In("_id", id);    
} 
Смежные вопросы