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

Mongo MapReduce chọn ngày mới nhất

Bạn đã cân nhắc sử dụng một trong các cách tiếp cận sau đây chưa?

Tìm MAX timeStampField trong bộ sưu tập:

db.collectionName.ensureIndex( { "timeStampField": -1 } );
db.collectionName.find({},{"timeStampField":1}).sort({timeStampField:-1}).limit(1);

HOẶC:

Tìm MAX timeStampField , per user_id trong bộ sưu tập (nếu DB không được phân đoạn):

db.collectionName.group(
  {  key: { "user_id" : 1 }
   , initial: { maxTimeStamp   : new Timestamp()  }
   , cond:    { timeStampField : {$exists : true}, timeStampField : {$gt: new Timestamp()} }
   , reduce:  function(doc,out) { 
                  if (out.maxTimeStamp < doc.timeStampField) { 
                      out.maxTimeStamp = doc.timeStampField; 
                  }
              }
  }
);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Đã xảy ra thời gian chờ sau 30000 mili giây chọn máy chủ bằng CompositeServerSelector

  2. Tại sao việc sắp xếp MongoDb chậm với các bộ sưu tập tra cứu

  3. Mongo DB có chế độ Trong bộ nhớ không?

  4. Sử dụng toán tử vị trí của MongoDB $ trong một truy vấn tài liệu được lồng sâu

  5. Cách sắp xếp kết quả trong một nodejs - tìm kiếm mongodb, nhưng, bằng cách gọi một phương thức động