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

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

Susan Sarandon
リリース: 2024-10-27 10:12:30
オリジナル
551 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート