Comment cibler des documents MongoDB via la date intégrée d'ObjectId
Question originale :
Comment peut-on J'effectue des requêtes MongoDB basées sur l'horodatage incorporé dans les ObjectIds ?
Réponse détaillée :
L'article complet « Popping Timestamps into ObjectIds » fournit une analyse approfondie de ces requêtes. Pour un aperçu concis, considérez les extraits de code JavaScript suivants :
Création d'un ObjectId avec une date spécifique :
<code class="js">function objectIdWithTimestamp(timestamp) { timestamp = new Date(timestamp); var hexSeconds = Math.floor(timestamp / 1000).toString(16); return ObjectId(hexSeconds + "0000000000000000"); }</code>
Recherche de documents créés après une date donnée Date :
<code class="js">db.mycollection.find({ _id: { $gt: objectIdWithTimestamp('1980/05/25') } });</code>
Cette requête récupère tous les documents avec un ObjectId indiquant une création après minuit le 25 mai 1980. En tirant parti de l'opérateur $gt, vous pouvez spécifier une plage de dates pour votre requête .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!