sql >> Databáze >  >> NoSQL >> MongoDB

Mongo DB:Získejte všechny dokumenty vložené za poslední známý

Protože ObjectId ve výchozím nastavení obsahuje inc a timestamp ( http://www.mongodb.org/display/DOCS/ Object+IDs#ObjectIDs-BSONObjectIDSpecification ) můžete ve skutečnosti použít ObjectId abyste pochopili čas vložení (zhruba) pomocí:

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

Nicméně ObjectId nemůže být vždy extrémně spolehlivé, zvláště pokud ve své aplikaci vytvoříte ObjectId chvíli před vložením a skutečně se zobrazí jeden záznam, o kterém víte, že byl vytvořen později (kvůli jeho _id ) jako dříve.

Pro vložení v určitých scénářích, kdy nemůžete důvěřovat ObjectId pro časovač vložení můžete přidat ts pole typu BSON Date (ISODate ) a dosáhněte toho pomocí dvou dotazů, jednoho pro získání času původních dokumentů a dalšího pro získání všech dokumentů poté.

Osobně dávám přednost druhému způsobu použití typu data BSON, protože je spolehlivější a flexibilnější.



  1. Mongodb:sdílení databáze mezi dvěma počítači

  2. Jaký je správný způsob nastavení sady replik mongodb pomocí dockeru a obr?

  3. rotace protokolu mongo nefunguje na windows

  4. Mongodb vrací více výsledků dílčího pole a vylučuje ostatní vrácené výsledky