sql >> データベース >  >> NoSQL >> MongoDB

mongodb集計$lookupと検索および入力

    $lookupする方法はありません。 実際のビデオオブジェクトにコメントIDのリストを表示するよりも高速です。つまり、whole other requestを実行する必要があります 今それらを取得するためにmongoに。したがって、パフォーマンスに関しては、明らかにルックアップによって時間が追加されます。これは、mongoose populateを使用していないことを前提としています。 これらのコメントIDを参照オブジェクトに「変換」します。

    次に、ビデオ(および実際のカウントプロップ)からコメントを削除し、ルックアップを実行することが方法です。引数ですぐに一致してから、単純なlookupを実行しているため これがあなたにとってどのようにボトルネックになるかはわかりません。また、集計を最適化/変更/調整して、説明 することもできます。 など

    あなたのビデオスキーマはそのようにかなりきれいになるでしょう:

    const VideoSchema = new mongoose.Schema({
      caption: {
        type: String,
        trim: true,
        maxlength: 512,
        required: true,
      },
      owner: {
        type: mongoose.Schema.ObjectId,
        ref: 'User',
        required: true,
      },
      // some more fields
    }, { timestamps: true });
    



    1. クエリが一致した後に更新を実行するには、mongodbで集計を使用します

    2. REDISのクラスター有効オプションでYCSBロードを開始するには

    3. Redisを使用したデータ移行

    4. MongoCursorException-カーソルが見つかりません(MongoDB PHPドライバー)