sql >> Database >  >> NoSQL >> MongoDB

Mongodb:Voer een datumbereikquery uit vanaf de ObjectId in de mongo-shell

Dat kan in 2 stappen:

 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}})

of in één stap (wat minder leesbaar is):

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. Ingegeven argument moet een reeks van 24 hexadecimale tekens zijn - ik denk van wel

  2. Procedure:bibliotheken van derden opnemen in uw MapReduce-taak

  3. Fout bij het verbinden met MongoDb Atlas Server

  4. Wat is Mongoose-fout Gegoten naar ObjectId mislukt voor waarde XXX op pad _id?