MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Policz wyniki za pomocą sterownika Java MongoDB 3.0

Użyj count() MongoCollection metoda, stosując filtr zapytania, który wykorzystuje obiekt Datetime z Joda-Time biblioteka, która upraszcza manipulację datami w java. Możesz to sprawdzić tutaj . Zasadniczo utwórz obiekt datetime 15 minut od aktualnego czasu:

DateTime dt = new DateTime();
DateTime now = new DateTime();
DateTime subtracted = dt.minusMinutes(15);

Następnie użyj zmiennych do skonstruowania zapytania o zakres dat do użycia w metodzie count():

Document query = new Document("lastlogin", new Document("$gte", subtracted).append("$lte", now));
mongoClient = new MongoClient("localhost", 3001);
long count = mongoClient.getDatabase("database1")
                        .getCollection("users")
                        .count(query);

W klastrze podzielonym na fragmenty podstawowa db.collection.count() Metoda może skutkować niedokładną liczbą, jeśli istnieją dokumenty osierocone lub jeśli migracja porcji jest w toku. Bezpieczniej jest więc używać aggregate() zamiast tego metoda:

Iterator<Document> it = mongoClient.getDatabase("database1")
                       .getCollection("users")
                       .aggregate(Arrays.asList(
                            new Document("$match", new Document("lastlogin", 
                                new Document("$gte", subtracted).append("$lte", now))
                            ),
                            new Document("$group", new Document("_id", null)
                                .append("count", 
                                    new Document("$sum", 1)
                                )
                            )
                        )
                    ).iterator();
int count = it.hasNext() ? (Integer)it.next().get("count") : 0;



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wyeksportować/zrzucić bazę danych mongodb?

  2. MongoDB $exp

  3. Mongo DB znajduje wszystkie rekordy o najwyższej wartości w zależności od pola kluczowego

  4. Zapytanie Mongodb oparte na pozycji w określonej pozycji w tablicy

  5. MongoDB $min Operator potoku agregacji