MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Đếm kết quả với Trình điều khiển Java MongoDB 3.0

Sử dụng count() của MongoCollection , áp dụng bộ lọc truy vấn sử dụng đối tượng Datetime từ Joda-Time thư viện đơn giản hóa thao tác ngày tháng trong java. Bạn có thể kiểm tra điều đó tại đây . Về cơ bản, hãy tạo một đối tượng datetime cách thời điểm hiện tại 15 phút:

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

Sau đó, sử dụng các biến để tạo truy vấn phạm vi ngày để sử dụng trong phương thức 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);

Trên một cụm phân đoạn, db.collection.count() cơ bản phương pháp này có thể dẫn đến số lượng không chính xác nếu tồn tại các tài liệu mồ côi hoặc nếu quá trình di chuyển phân đoạn đang diễn ra. Vì vậy, sẽ an toàn hơn khi sử dụng aggregate() thay vào đó:

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. Xóa một tài liệu con được lồng trong một mảng trong MongoDB

  2. Xuất Bộ sưu tập MongoDB sang Tệp JSON

  3. MongoDB chọn vị trí trong mảng _id?

  4. MongoDB findOne ()

  5. Làm cách nào để lấy một tài liệu nhúng cụ thể bên trong bộ sưu tập MongoDB?