Въпреки че е вярно, че ObjectId отчасти се основава на "timestamp", обикновено това е операция на "клиентска" библиотека за "извличане" на тази дата от стойността на ObjectId.
Можете да направите това с оценката на JavaScript на $where
, но ще трябва да „сканира“ цялата колекция, така че не е много ефективно:
db.collection.find(function() {
return (
( this._id.getTimestamp().valueOf() -
this._id.getTimestamp().valueOf() % ( 1000 * 60 * 60 * 24 ) )
== new Date("2014-07-14").valueOf() );
})
Това основно ще сравни, за да види дали ObjectId
е създаден на същия ден като посочената дата. Друга математика или методи за дата се прилагат за други интервали.