MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongo DB:Вмъкнете всички документи след последния известен

Тъй като ObjectId по подразбиране съдържа inc и timestamp ( http://www.mongodb.org/display/DOCS/ Object+IDs#ObjectIDs-BSONObjectIDSpecification ) всъщност можете да използвате ObjectId за да разберете времето за вмъкване (приблизително) чрез:

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

Въпреки това ObjectId не винаги може да бъде изключително надежден, особено ако във вашето приложение създадете ObjectId известно време преди вмъкването и всъщност един запис, който знаете, че е създаден по-късно, всъщност се показва (заради своя _id ), както по-рано.

За вмъквания в определени сценарии, при които не можете да се доверите на ObjectId за таймер за вмъкване можете да добавите ts поле от тип BSON Дата (ISODate ) и диапазон върху това, като използвате две заявки, една за получаване на времето на оригиналните документи и след това друга за получаване на всички документи след това.

Аз лично предпочитам просто да избера втория метод за използване на тип дата BSON, тъй като е по-надежден и гъвкав.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Условия за съответствие и последна дата от масива

  2. Множество опити за инстанция на сървъра, докато се изпълнява шега

  3. MongoError:Топологията е затворена, моля, свързването изглежда е свързано с MongoClient.close() и клиентът няма да работи, докато го използва

  4. Опитвам се да направя масово upsert с Mongoose. Кой е най-чистият начин да направите това?

  5. Как да сравним два низа в данните на mongoDB spring?