ADO.NET Provider for MongoDB

Build 24.0.9062

JOIN クエリ

CData ADO.NET Provider for MongoDB は親ドキュメントを使ったネストされた配列の結合、および複数コレクションの結合をサポートします。

入れ子構造の結合

本製品 では、結合の左部分を、垂直にフラット化したい配列ドキュメントだと判断します。SupportEnhancedSQL を無効にして、ネストされたMongoDB ドキュメントを結合します。このタイプのクエリはMongoDB API 経由でサポートされています。

例えば、MongoDB のrestaurants コレクションから次のクエリを考えましょう。

SELECT [restaurants].[restaurant_id], [restaurants].name, [restaurants.grades].* 
FROM [restaurants.grades]
JOIN [restaurants] 
WHERE [restaurants].name = 'Morris Park Bake Shop'
詳しくは、垂直フラット化 を参照してください。

複数コレクションの結合

リレーショナルデータベースでテーブルを結合するのと同じように、複数のコレクションを結合できます。SupportEnhancedSQL をTrue に設定し、これらのタイプの結合を実行します。以下の例では、MongoDB のドキュメントで利用可能なrestaurants およびzips コレクションを使用します。

以下のクエリは、郵便番号コードごとに、存在するレストランのレコードを返します。

SELECT z.city, r.name, r.borough, r.cuisine, r.[address.zipcode]
FROM zips z
LEFT JOIN restaurants r
ON r.[address.zipcode] = z._id

以下のクエリは、結合条件に合うレコードを両テーブルから返します。

SELECT z.city, r.name, r.borough, r.cuisine, r.[address.zipcode]
FROM restaurants r
INNER JOIN zips z
ON r.[address.zipcode] = z._id

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062