Cá nhân tôi sẽ sử dụng một bộ sưu tập riêng biệt, chủ yếu nhằm mục đích giữ cho các đối tượng người dùng / địa điểm của bạn nhỏ lại, vì bạn có thể có số lượng đăng ký không giới hạn cho mỗi người dùng / địa điểm. Nếu bạn đặt một chỉ mục trên user_id / timestampl và place_id / timestamp trong bộ sưu tập đăng ký của mình, thì các truy vấn cho một người dùng hoặc địa điểm cụ thể sẽ hiệu quả. Lợi ích thứ hai khi sử dụng một bộ sưu tập riêng biệt là MongoDB sẽ không phải tiếp tục di chuyển người dùng hoặc đối tượng địa điểm của bạn khi nó phát triển quá lớn. Thay vào đó, nó sẽ chỉ tiếp tục bổ sung vào bộ sưu tập checkins, điều này sẽ khá hiệu quả (10 giây trong số 1000 lần chèn mỗi giây mỗi phân đoạn).
Tôi cũng nên đề cập rằng tôi sẽ không lưu trữ ID đăng ký ở địa điểm hoặc tài liệu người dùng, vì bạn nhận được cùng một lợi ích về hiệu suất khi có chỉ mục trên place_id hoặc user_id trong tài liệu đăng ký.