Методы Find & FindAll, отсутствующие в MongoDB.Driver v1.3.1 для C#
Я начинаю использовать MongoDB с C# и, следуя нескольким учебникам, обнаружил, что методы Find & FindAll больше не существуют в последних версиях.
Может кто-нибудь объяснить, почему, а также, как бы я теперь получить ту же функциональность, используя v1.3.1?
1 ответ
Нет, они должны быть. По крайней мере, я не вижу их в ветке master на git здесь, строка 1655. В заметках о выпуске для 1.3.1 здесь я также не могу найти никаких критических изменений.
Кажется, вы не можете их найти, потому что вы создали коллекцию mongodb иначе, чем раньше. В основном есть два подхода:
Первый подход - указать точный тип документа при получении коллекции:
var collection = db.GetCollection<ICanSpecifyTypeHere>("name")
//then collection has Find and FindAll methods
var result = collection.Find(Query.And());
Второй подход - указать тип документа в методе find:
var collection = db.GetCollection("name");
//in this case you should use FindAs<TypeOfDocument> and FindAllAs<TypeOfDocument>
var result = collection.FindAs<ICanSpecifyTypeHere>(Query.And());
Я полагаю, что вы объявили коллекцию как во втором подходе и из-за этого не видите Find
а также FindAll
методы.