sql >> Database >  >> NoSQL >> MongoDB

Mongo DB:laat alle documenten invoegen na de laatst bekende

Sinds de ObjectId bevat standaard een inc en een timestamp ( http://www.mongodb.org/display/DOCS/ Object+IDs#ObjectIDs-BSONObjectIDSpecification ) kunt u de ObjectId . daadwerkelijk gebruiken om de invoegtijd (ongeveer) te begrijpen via:

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

Maar de ObjectId kan niet altijd extreem betrouwbaar zijn, vooral als u in uw app de ObjectId . maakt een tijdje voor het invoegen en eigenlijk wordt één record waarvan u weet dat het later is gemaakt, daadwerkelijk weergegeven (vanwege zijn _id ) zoals eerder.

Voor invoegingen in bepaalde scenario's waarin u de ObjectId . niet kunt vertrouwen voor invoegtimer kun je een ts . toevoegen veld van een BSON-datumtype (ISODate ) en bereik dat met behulp van twee query's, een om de originele documenten op tijd te krijgen en een andere om alle documenten daarna te krijgen.

Persoonlijk geef ik er de voorkeur aan om gewoon voor de tweede methode te gaan om een ​​BSON-datumtype te gebruiken, omdat deze betrouwbaarder en flexibeler is.



  1. Een array van arrays opvragen in MongoDB

  2. MongoDB geospatiale index op een array (multikey + geospatial)

  3. Verschil tussen MongoDB en Mongoose

  4. Veel-op-veel relaties ontwerpen in MongoDB (in plaats van relationele tabellen)