MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Пребройте резултатите с MongoDB 3.0 Java драйвер

Използвайте count() на MongoCollection метод, като се прилага филтър за заявки, който използва обекта Datetime от Joda-Time библиотека, която опростява манипулирането на дати в java. Можете да проверите това тук . По принцип създайте обект дата и час на 15 минути от текущото време:

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

След това използвайте променливите, за да създадете заявка за период от време за използване в метода 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);

В разделен клъстер основният db.collection.count() методът може да доведе до неточен брой, ако съществуват осиротели документи или ако е в ход миграция на парчета. Така че е по-безопасно да използвате aggregate() вместо това:

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. Битката на базите данни NoSQL - Сравняване на MongoDB и CouchDB

  2. Експортирайте резултата за агрегиране на mongodb в нова колекция

  3. Как актуализирате обекти в масива на документ (вложено актуализиране)

  4. връщане на заявка въз основа на дата

  5. MongoDB $lookup Objectid получава празен масив?