Używam MongoDB 3.0. Załóżmy, że istnieje zbiór dokumentów wymienionych photos
, jego struktura jestsposób wywoływania operacji liczenia po znalezieniu za pomocą sterownika mongodb java
{"_id" : 1, photographer: "jack"}
z database.getCollection("photos")
, MongoDB zwróci MongoCollection
przedmiot, na który mam metodę count()
aby uzyskać dokumenty numer zwrócone.
Jednak przy zapytaniach z określonymi warunkami. Na przykład znaleźć dokumenty o identyfikatorze mniejszej niż 100:
photosCollections.find(Document.parse("{_id : {$lt : 100}}"))
Przede find
metoda zawsze zwraca się kursor, który nie zapewnia count()
funkcję. Jak mogę sprawdzić, ile dokumentów zostało zwróconych? Wiem, że na linii poleceń, można użyć
db.photos.find({_id : {$lt : 100}}).count()
Oczywiście, mogę przejść przez iterator i policzyć liczbę dokumentów siebie. Jednak uważam to za naprawdę niezdarne. Zastanawiam się, czy sterownik java MongoDB udostępnia taką funkcję, aby policzyć liczbę dokumentów zwróconych przez metodę find()
? Jeśli nie, jaka jest przyczyna tej decyzji?
Tak, metody zliczania() był w MongoDB 2.0, ale usunięto MongoDB 3.0. Nie wiem, jaki jest powód ...... –
@EnsomHodder http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/quick-tour/ Uwaga na 3.0 w adresie URL . Testowane, działa. –
Querybuilder nie istnieje – PedroD