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

Mongo DB:Lấy tất cả các tài liệu được chèn vào sau tài liệu cuối cùng đã biết

Kể từ ObjectId theo mặc định chứa một inctimestamp ( http://www.mongodb.org/display/DOCS/ Đối tượng + ID # ObjectIDs-BSONObjectIDSpecification ) bạn thực sự có thể sử dụng ObjectId để hiểu thời gian chèn (đại khái) qua:

db.col.find({_id: {$gt: {ObjectId("50911c4709913b2c643f1216")}}});

Tuy nhiên, ObjectId không phải lúc nào cũng cực kỳ đáng tin cậy, đặc biệt nếu trong ứng dụng của bạn, bạn tạo ObjectId một lúc trước khi chèn và thực sự một bản ghi mà bạn biết đã được tạo sau đó thực sự hiển thị (vì _id của nó ) như trước đó.

Đối với các trường hợp chèn trong một số trường hợp nhất định mà bạn không thể tin tưởng vào ObjectId đối với bộ đếm thời gian chèn, bạn có thể thêm ts trường của loại ngày BSON (ISODate ) và phạm vi điều đó bằng cách sử dụng hai truy vấn, một truy vấn để lấy thời gian tài liệu gốc và một truy vấn khác để lấy tất cả tài liệu sau đó.

Cá nhân tôi chỉ thích sử dụng phương pháp thứ hai là sử dụng loại ngày BSON vì nó đáng tin cậy và linh hoạt hơn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách tạo chỉ mục trong MongoDB qua .NET

  2. Không thể tự động định cấu hình Nguồn dữ liệu:'spring.datasource.url' không được chỉ định

  3. Tìm kiếm / truy vấn ranh giới định vị trong Mongodb

  4. Kiểm tra số lượng kết nối hiện tại với MongoDb

  5. Cập nhật hoặc thêm vào một bộ sưu tập con trong mongo