sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB hittar dagens rekord

vi kan använda $where

db.collection.find(
   { $where: "this._id.getTimestamp() >= ISODate('2017-02-25')" }
)

För att få dokument för idag, eller hellre säg från midnatt igår:

db.collection.find( { $where: function() { 
    today = new Date(); //
    today.setHours(0,0,0,0);
    return (this._id.getTimestamp() >= today)
} } );

naturligtvis är det mycket snabbare att ha ett indexerat tidsstämpelfält eller att följa tillvägagångssättet med beräkningen av ett ObjectID för startdatumet och jämföra _id med det, eftersom _id också är indexerat.



  1. Använder $$ROOT i aggregeringsordning

  2. MongoDB:Frågar du flera samlingar med två frågor?

  3. Vad är användningen av filen mongo.lock?

  4. Löpande handledare från värden, selleri från en virtualenv (Django-app)