Методы Find & FindAll, отсутствующие в MongoDB.Driver v1.3.1 для C # - PullRequest
0 голосов
/ 25 февраля 2012

Я начинаю использовать MongoDB с C # и, следуя нескольким учебникам, обнаружил, что методы Find & FindAll больше не существуют в последних версиях.

Может ли кто-нибудь объяснить, почему, а также, как мне теперь получить такую ​​же функциональность, используя v1.3.1?

1 Ответ

0 голосов
/ 26 февраля 2012

Нет, они должны быть. По крайней мере, я не вижу их в основной ветке на 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());

Второй подход - указать тип документа в методе поиска:

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.

...