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

マングースの条件でルックアップ

    $を使用できますパイプラインによるルックアップ MongoDBv3.6以降

    • localField _idを渡しましょう model_idとして 変数の場合、$$参照を使用してルックアップパイプライン内のフィールドを使用できます。
    • $matchを配置するパイプライン ステージングして、必要な条件とuser_idを一致させます 状態
      {
        $lookup: {
          from: "bookmarks",
          let: { model_id: "$_id" },
          pipeline: [
            {
              $match: {
                $expr: { $eq: ["$$model_id", "$model_id"] },
                user_id: objectId(req.user._id)
              }
            }
          ],
          as: "bookmarks"
        }
      }
    

    MongoDB v3.4のその他のオプション 、

    • $ filter bookmarksのループを繰り返す 条件に基づいてフィルタリングされたブックマークを取得します
      {
        $lookup: {
          from: "bookmarks",
          localField: "_id",
          foreignField: "model_id",
          as: "bookmarks"
        }
      },
      {
        $addFields: {
          bookmarks: {
            $filter: {
              input: "$bookmarks",
              cond: { $eq: ["$$this.user_id", objectId(req.user._id)] }
            }
          }
        }
      }
    


    1. マングーススキーマの移行を適切に処理するにはどうすればよいですか?

    2. HadoopMapReduceのデータローカリティの概要

    3. Taskletを使用してSpringBatch内またはCompositeItemWriter内にロジックを作成しますか?

    4. エラーが発生しないようにSSLを使用するようにJedisConnectionFactoryを構成するにはどうすればよいですか:JedisDataException:ERR暗号化されていない接続は禁止されていますか?