ホームページ  >  記事  >  ウェブフロントエンド  >  MongoDB ObjectId を使用して、作成日に基づいてドキュメントを検索するにはどうすればよいですか?

MongoDB ObjectId を使用して、作成日に基づいてドキュメントを検索するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-27 10:12:30443ブラウズ

How can MongoDB ObjectIds be used to find documents based on their creation date?

MongoDB ObjectIds を使用した作成日によるドキュメントの検索

MongoDB ObjectIds は、12 バイト表現内にドキュメント作成のタイムスタンプを保持します。作成日に基づいてドキュメントをクエリするのに役立つように、この機能を利用できます。

次のシナリオを考えてみましょう。1980 年 5 月 25 日の午前 0 時以降に作成されたすべてのドキュメントを検索したいとします。これを実現するには、次のコマンドを使用します。次のアプローチ:

時間埋め込み ObjectId を生成するための JavaScript コード:

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

クエリの例:

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

このクエリは、指定されたタイムスタンプよりも大きい時間を表す ObjectId を持つすべてのドキュメントを返します。これにより、作成日に基づいてドキュメントを効率的に分離できます。

以上がMongoDB ObjectId を使用して、作成日に基づいてドキュメントを検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。