To brzmi dziwnie, i mam nadzieję, że robię coś nie tak, ale moja kolekcja MongoDB odsyła Liczbę przez jedną z mojej kolekcji.Nieprawidłowa liczba zwrócona przez MongoDB (WiredTiger)
Mam kolekcję z (jestem pewien) 359671 dokumentów. Jednak polecenie count() zwraca 359670 dokumentów.
ja wykonaniem polecenia count() za pomocą powłoki Mongo:
rs0:PRIMARY> db.COLLECTION.count()
359670
To jest błędne.
Nie znajduje każdego dokumentu w mojej kolekcji.
Gdybym podać następujące zapytanie liczyć, otrzymuję poprawny wynik:
rs0:PRIMARY> db.COLLECTION.count({_id: {$exists: true}})
359671
Wierzę, że jest to błąd w WiredTiger. O ile mi wiadomo, każdy dokument ma tę samą definicję, pole _id liczby całkowitej z zakresu od 0 do 359670 i pole BinData. Nie miałem tego problemu ze starszym silnikiem pamięci masowej (lub Mongo 2, albo mógł spowodować problem).
Czy to coś, co zrobiłem źle? Nie chcę używać kwerendy {_id: {$ exists: true}}, ponieważ trwa to 100 razy dłużej.
Czy używasz uszkodzonej gromady? Jeśli tak, zobacz http://docs.mongodb.org/manual/reference/method/db.collection.count/#sharded-clusters – JohnnyHK
Nie używam klastra sharded, ale dziękuję za sugestię. – James