Получить все документы из коллекции MongoDB''
мне нужно получить все документы, которые есть в моей коллекции в MongoDB, но я не могу понять, как. Я объявил свою "коллекцию"такой...--3-->
private static IMongoCollection<Project> SpeCollection = db.GetCollection<Project>("collection_Project");
и я следовал тому, что объясняется в этой в MongoDB учебник. Я приспособил его для своих нужд, как ... --3-->
var documents = await SpeCollection.Find(new Project()).ToListAsync();
тем не менее, я продолжаю иметь следующую ошибку-
MongoDB.Водитель.IMongoCollection не имеет определения для 'Find' и лучшего переопределения метод расширения [сверхдлинный материал]. Find содержит недопустимые аргументы.
3 ответов
использование текущей версии драйвера (v2.0) вы можете сделать это, передав фильтр, который соответствует всему:
var documents = await SpeCollection.Find(_ => true).ToListAsync();
Они также добавили пустой фильтр (FilterDefinition.Empty
), который поступит в следующей версии драйвера (v2.1):
var documents = await SpeCollection.Find(Builders<Project>.Filter.Empty).ToListAsync();
самый простой способ получить все документы -
var documents = SpeCollection.AsQueryable();
Он также может быть преобразован в Json
объект-
var json = Json(documents, JsonRequestBehavior.AllowGet);
Если вы хотите, чтобы все документы, почему бы не использовать Find all
?
var documents = await SpeCollection.Find(new BsonDocument()).ToListAsync();