別のコレクションから取得したリストに基づいてデータを取得するためのMongodb集計クエリ

ルカス

私は2つのコレクションを持っています。ユーザーとクライアント

Companies

{"_id":{"$oid":"599d8864a5304114ac9b8a0a"},"id":"company1","name":"Big Company", "users":["Jack", "Martin"]}
{"_id":{"$oid":"599d8864a5304114ac9b8a0b"},"id":"company2","name":"Super Big Company", "users":["Kate", "Jack"]}

Users

{"_id":{"$oid":"59b0178ca5304101c1a99711"},"username":"Jack","hashedPassword":"2f1f147e358f28a74cd29c7f44eedd4ec0293d6c"},
{"_id":{"$oid":"59b0178ca5304101c1a99811"},"username":"Martin","hashedPassword":"1f5f147e358f21a74cd29c7f44eedd4ec0293d6c"}

このユーザーがメンバーであるユーザーUsersからリストを取得したいユーザー名が1つありますCompanies

したがって、フローは次のようになります。

Find all companies which have Jack in the list of their users -> extract and join arrays -> Return the list of User objects with matching username from the array

集計関数と$ lookupを使用して1つのクエリでこれを取得できるはずですが、無残に機能させようとして失敗しました。

神聖なダイバー
db.Clients.aggregate([
   {
      "$lookup":
         {
            "from": "Users",
            "localField": "users",
            "foreignField": "username",
            "as": "user_details"
        }
   },
  

{"$match": {"users":"Jack"}},
{"$unwind": "$user_details" },
{"$project": {"user_details" :1,"_id":0}}
])

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MongoDB集計クエリは、パラメーターに基づいて、モデルの参照であるコレクションを返します

分類Dev

同じコレクションのすべてのドキュメントの配列のオブジェクトに存在するIDに基づいてリストをフィルタリングするためのMongoDb集計

分類Dev

あるコレクションからレポートを取得して別のコレクションに挿入するための効率的なMongoDBクエリ

分類Dev

ある条件に基づいてデータセットから複数のデータテーブルを取得するためのlinqクエリ

分類Dev

別のコレクションの値に基づいてコレクションを更新するためのAzureCosmosDBトリガー

分類Dev

idMongodbに基づいて配列から他のコレクションデータの数を取得します

分類Dev

1つの特定のIDフィールドを取得するためにmongodbコレクションをクエリしようとしています-

分類Dev

mongodb集計クエリを使用して別のコレクションから結合された複数のフィールドを個別にカウントする必要があります

分類Dev

別のJavaクラスからのフィールドに基づいて「等価」のための2つのコレクションを比較するには?

分類Dev

レコードのサブストリングを取得し、欠落していないか別のテーブルと比較するためのMSAccessクエリ

分類Dev

CTEクエリで、最初に取得したテーブルIDに基づいて別のテーブルのレコードをカウントします

分類Dev

行番号に基づいてSQLビューからレコードを取得するためのSQLServer 2008クエリとは何ですか?

分類Dev

サブクエリから返された値のリストを使用して「NOTIN」に類似したmongodbコレクションをクエリする方法

分類Dev

特定の条件に基づいてレコードをフィルタリングするためのクエリ

分類Dev

mongoDBの集計を使用して特定のサブドキュメントを取得するためのクエリ?

分類Dev

関係に基づいたコレクション内のLaravelモデルのリストと数の取得

分類Dev

PHPとMySQL:ユーザーがクリックしたリンクに基づいてデータベースからデータを取得する

分類Dev

レコード内のすべてのインスタンスの一意の要素リストとカウントを取得するためのMongoDB集計クエリ

分類Dev

別のMySQLクエリに基づいてデータを取得する

分類Dev

集約された子データに基づいて親のランクを決定するための難しいMySQLクエリ

分類Dev

特定の条件に基づいて、テーブルから既に挿入されたデータを使用して挿入クエリを取得する

分類Dev

特定の基準が満たされている場合、1つのシートからデータをプルし、別のシートにリストするためにExcelを取得しようとしています。

分類Dev

フラッターの配列リストの値に基づいてfirestoreコレクションを取得します

分類Dev

RubyのpostgresqlからのSELECTクエリに基づいて、適切にネストされ、グループ化されたハッシュを取得する

分類Dev

C#のプロパティに基づいてオブジェクトのリストからマージされたデータを取得します

分類Dev

MongoEngineを使用してデータベース内のコレクションのリストを取得するにはどうすればよいですか?

分類Dev

MongoEngineを使用してデータベース内のコレクションのリストを取得するにはどうすればよいですか?

分類Dev

$ out集計を使用して1つのコレクションから別のコレクションに複数のデータを転送する方法

分類Dev

最後のクロール日付に基づいて最低価格を取得するためのデータベースクエリ

Related 関連記事

  1. 1

    MongoDB集計クエリは、パラメーターに基づいて、モデルの参照であるコレクションを返します

  2. 2

    同じコレクションのすべてのドキュメントの配列のオブジェクトに存在するIDに基づいてリストをフィルタリングするためのMongoDb集計

  3. 3

    あるコレクションからレポートを取得して別のコレクションに挿入するための効率的なMongoDBクエリ

  4. 4

    ある条件に基づいてデータセットから複数のデータテーブルを取得するためのlinqクエリ

  5. 5

    別のコレクションの値に基づいてコレクションを更新するためのAzureCosmosDBトリガー

  6. 6

    idMongodbに基づいて配列から他のコレクションデータの数を取得します

  7. 7

    1つの特定のIDフィールドを取得するためにmongodbコレクションをクエリしようとしています-

  8. 8

    mongodb集計クエリを使用して別のコレクションから結合された複数のフィールドを個別にカウントする必要があります

  9. 9

    別のJavaクラスからのフィールドに基づいて「等価」のための2つのコレクションを比較するには?

  10. 10

    レコードのサブストリングを取得し、欠落していないか別のテーブルと比較するためのMSAccessクエリ

  11. 11

    CTEクエリで、最初に取得したテーブルIDに基づいて別のテーブルのレコードをカウントします

  12. 12

    行番号に基づいてSQLビューからレコードを取得するためのSQLServer 2008クエリとは何ですか?

  13. 13

    サブクエリから返された値のリストを使用して「NOTIN」に類似したmongodbコレクションをクエリする方法

  14. 14

    特定の条件に基づいてレコードをフィルタリングするためのクエリ

  15. 15

    mongoDBの集計を使用して特定のサブドキュメントを取得するためのクエリ?

  16. 16

    関係に基づいたコレクション内のLaravelモデルのリストと数の取得

  17. 17

    PHPとMySQL:ユーザーがクリックしたリンクに基づいてデータベースからデータを取得する

  18. 18

    レコード内のすべてのインスタンスの一意の要素リストとカウントを取得するためのMongoDB集計クエリ

  19. 19

    別のMySQLクエリに基づいてデータを取得する

  20. 20

    集約された子データに基づいて親のランクを決定するための難しいMySQLクエリ

  21. 21

    特定の条件に基づいて、テーブルから既に挿入されたデータを使用して挿入クエリを取得する

  22. 22

    特定の基準が満たされている場合、1つのシートからデータをプルし、別のシートにリストするためにExcelを取得しようとしています。

  23. 23

    フラッターの配列リストの値に基づいてfirestoreコレクションを取得します

  24. 24

    RubyのpostgresqlからのSELECTクエリに基づいて、適切にネストされ、グループ化されたハッシュを取得する

  25. 25

    C#のプロパティに基づいてオブジェクトのリストからマージされたデータを取得します

  26. 26

    MongoEngineを使用してデータベース内のコレクションのリストを取得するにはどうすればよいですか?

  27. 27

    MongoEngineを使用してデータベース内のコレクションのリストを取得するにはどうすればよいですか?

  28. 28

    $ out集計を使用して1つのコレクションから別のコレクションに複数のデータを転送する方法

  29. 29

    最後のクロール日付に基づいて最低価格を取得するためのデータベースクエリ

ホットタグ

アーカイブ