Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Khác biệt giữa count() và find().count() trong MongoDB

Không có khác biệt về kết quả - cả hai đều trả về số document trong collection.

Ví dụ minh họa

Tạo collection countDemo 4 document:

> db.countDemo.insertOne({"MaNguoiDung": 1, "TenNguoiDung": "John"});
> db.countDemo.insertOne({"MaNguoiDung": 2, "TenNguoiDung": "Carol"});
> db.countDemo.insertOne({"MaNguoiDung": 3, "TenNguoiDung": "Bob"});
> db.countDemo.insertOne({"MaNguoiDung": 4, "TenNguoiDung": "Mike"});

Hai cách đếm

> db.countDemo.count();
4
> db.countDemo.find().count();
4

Lịch sử: count() là phương thức collection, find().count() là phương thức cursor. Kết quả giống nhau.

⚠️ Deprecated: Cả count() và find().count() đều deprecated từ MongoDB 4.0.

Cách khuyến nghị hiện tại

  • db.collection.countDocuments({}) - Đếm chính xác (có filter)
  • db.collection.estimatedDocumentCount() - Ước lượng nhanh (dùng metadata, không filter)
> db.countDemo.countDocuments({});
4
> db.countDemo.estimatedDocumentCount();
4