sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongodb:Udfør en datointervalforespørgsel fra ObjectId i mongo-skallen

Du kan gøre det i 2 trin:

 var objIdMin = ObjectId(Math.floor((new Date('1990/10/10'))/1000).toString(16) + "000
0000000000000")
 var objIdMax = ObjectId(Math.floor((new Date('2011/10/22'))/1000).toString(16) + "000
    0000000000000")
 db.myCollection.find({_id:{$gt: objIdMin, $lt: objIdMax}})

eller i ét trin (hvad der er mindre læsbart):

db.myCollection.find({_id:{$gt: ObjectId(Math.floor((new Date('1990/10/10'))/1000).toString(16) + "000
    0000000000000"), $lt: ObjectId(Math.floor((new Date('2011/10/10'))/1000).toString(16) + "000
    0000000000000")}})


  1. Bedste måde at opbevare redis-nøgler på

  2. Hvordan får jeg den dato, en MongoDB-samling blev oprettet ved hjælp af MongoDB C#-driver?

  3. Vil redis incr-kommandoen være begrænsning til et bestemt antal?

  4. Hvordan indstilles useMongoClient (Mongoose 4.11.0)?