Методы 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 методы.

Другие вопросы по тегам