Recherche de documents par date de création à l'aide des ObjectIds MongoDB
Les ObjectIds MongoDB contiennent l'horodatage de la création du document dans sa représentation de 12 octets. Pour faciliter l'interrogation des documents en fonction de leur date de création, cette fonctionnalité peut être exploitée.
Considérez le scénario suivant : vous souhaitez rechercher tous les documents créés après minuit le 25 mai 1980. Pour ce faire, vous pouvez utiliser l'approche suivante :
Code JavaScript pour générer des ID d'objet intégrés dans le temps :
<code class="javascript">/* Function creates an ObjectId embedded with a given datetime (Date object or string) */ function objectIdWithTimestamp(timestamp) { timestamp = typeof timestamp == 'string' ? new Date(timestamp) : timestamp; var hexSeconds = Math.floor(timestamp / 1000).toString(16); return ObjectId(hexSeconds + "0000000000000000"); }</code>
Exemple de requête :
<code class="javascript">/* Find documents created after midnight on May 25th, 1980 using the generated ObjectId */ db.mycollection.find({ _id: { $gt: objectIdWithTimestamp('1980/05/25') } });</code>
Cette requête renverra tous les documents avec un ObjectId qui représente une heure supérieure à l'horodatage donné. De cette manière, vous pouvez isoler efficacement les documents en fonction de leur date de création.
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!