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

MongoDb:外部ドキュメントをフィルタリングする集計$ lookup

    $filterを使用できます petsの配列集計演算子 $lookupによって生成される配列 ステージ。

    1歳以上のペットを出力するには

    db.users.aggregate([ 
    { 
      $lookup: 
      { 
        from: "pets", 
        localField: "id", 
        foreignField: "owner", 
        as: "pets" 
      } 
    }, 
    {
      $project: 
      {
        name: 1,
        pets: 
        { 
          $filter: 
          { 
            input: "$pets", 
            as: "pet", 
            cond: { $gte: [ "$$pet.age", 1 ] } 
          } 
        } 
      } 
    } 
    ]);
    

    最も古いペットを出力するには、condを置き換えるだけです。 $filterのフィールド

    を使用した前の集計パイプラインの演算子
    cond: { $eq: [ "$$pet.age", { $max: "$pets.age" } ] }
    



    1. MongoDBのドキュメントにカスタム_idを使用することに利点はありますか?

    2. Windows8とWAMPサーバーにmongodbphpドライバーをインストールする方法は?

    3. MongoDBとSpringBootを使用したファイルのアップロードと取得

    4. マングースのサブドキュメントページ付け