MongoDB アクションでのカスタムフィルタークエリーの使用

[Custom filter query] 項目を使用すると、レシピ内の MongoDB アクションで使用されるドキュメントをフィルタリングすることができます。


サポートされているアクション

カスタムフィルタークエリーは、以下の MongoDB アクションでサポートされています。


動作の仕組み

MongoDB の拡張 JSON を使用して、コレクションからドキュメントのサブセットを返すクエリーを構築できます。

カスタムフィルタークエリーでは、以下がサポートされています。

BSON 型の使用

カスタムフィルタークエリーでは、いくつかの制限付きで BSON 型を使用できます。

例 : このクエリーでは、ObjectId (oid) 値が 5d505646cf6d4fe581014ab2 であるドキュメントが返されます。

json
{
   "_id":{
      "$oid":"5d505646cf6d4fe581014ab2"
   }
}

JSON 型の使用

カスタムフィルタークエリーでは、stringbooleannumber などの JSON データ型も使用できます。

例 : 以下のクエリーでは、ドキュメントの manager_id 値が string 型であるドキュメントが返されます。

json
{
   "manager_id":"string"
}

クエリー演算子の使用

クエリー演算子を使用して、比較および論理演算を実行することもできます。 : 現在サポートされている演算子については、いくつかの制限事項があります。

例 : このクエリーでは、employees コレクション内のドキュメントを検索します。

json
{
   "manager_id":{
      "$oid":"5d505646cf6d4fe581014ab2"
   },
   "sales_closed":{
      "$gt":{
         "$numberDecimal":"1000000"
      }
   },
   "date_hired":{
      "$gt":{
         "$date":"2020-12-31T00:00:00.000Z"
      }
   }
}

上記のクエリーでは、以下の条件を満たすドキュメント (従業員) が検索されます。

  • manager_id 値が 5d505646cf6d4fe581014ab2 である
  • 合計 sales_closed 値が $1,000,000 より大きい
  • 2020-12-31 (2020年12月31日) より後に採用された

制限事項

  • 現在は、以下の BSON 型のみがサポートされています。
    • Decimal128$numberDecimal と同義
    • ObjectId$oid と同義
    • Date$date と同義
  • $where クエリー演算子は現在はサポートされていません。

リソース

Last updated: