CRUD および集計 API
項目一覧
Overview
このページでは、MongoDB コマンド、演算子、オプション、および集計ステージのMongoDB データソースサポートを一覧表示します。
関数から MongoDB でデータを読み書きする方法については、「 MongoDB Atlas のクエリ 」を参照してください。
サポートされている機能と制限の詳細については、「サービスの制限 」を参照してください。
CRUD 操作
クエリ演算子
Atlas App Services は、 ユーザー関数 で実行されるクエリに対してほとんどの クエリ演算子 をサポートしています。ただし、一部の評価演算子とすべての地理空間演算子およびビット演算子は、システム関数でのみ使用できます。
比較演算子の可用性
論理演算子の可用性
配列演算子の可用性
操作 | ユーザー関数 | システム関数 |
---|---|---|
はい | はい | |
はい | はい | |
はい | はい |
要素演算子の可用性
評価演算子の可用性
地理空間演算子の可用性
操作 | ユーザー関数 | システム関数 |
---|---|---|
No | はい | |
No | はい | |
No | はい | |
No | はい |
ビット演算子の可用性
操作 | ユーザー関数 | システム関数 |
---|---|---|
No | はい | |
No | はい | |
No | はい | |
No | はい |
更新演算子
App Services は、 ユーザー関数 で実行されるクエリに対してほとんどの 更新演算子 をサポートしています。ただし、一部の配列更新演算子はシステム関数でのみ使用できます。
フィールド更新演算子の可用性
操作 | ユーザー関数 | システム関数 |
---|---|---|
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい |
配列更新演算子の可用性
操作 | ユーザー関数 | システム関数 |
---|---|---|
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい | |
はい | はい |
配列更新演算子の可用性
ビットごとの更新演算子の可用性
演算子 | ユーザー関数 | システム関数 |
---|---|---|
はい | はい |
一括書き込み操作
App Services は、 MongoDB Node.js ドライバーと同じ API を使用する一括書込み操作をサポートしています。
Tip
App Services は、一括書込み操作を実行するための collection.bulkWrite()
メソッドも提供します。
順序付き一括書き込み操作の可用性
collection.initializeOrderedBulkOp() を呼び出して、順序付き一括操作を定義します と OrderedBulkOperation の操作 返されるオブジェクト。
App Services は次のOrderedBulkOperation
メソッドをサポートしています。
順序付けなし一括書き込み操作の可用性
collection.initiateUnusedBulkOp() を呼び出して、順序なしの一括操作を定義します と OrderedBulkOperation の操作 返されるオブジェクト。
App Services は次のUnorderedBulkOperation
メソッドをサポートしています。
クエリ オプション
App Services では、ユーザー関数の CRUD 操作に対して次のオプションの構成はサポートされていません。 すべてのクエリ オプションはシステム関数で使用できます。
クエリ オプションの可用性
オプション | ユーザーコンテキスト | システムコンテキスト |
---|---|---|
No | はい | |
No | はい | |
No | はい |
集計
集計メソッド
App Services では、次のコマンドを使用して、データベース レベルとコレクション レベルの両方での集計をサポートしています。
集計パイプライン ステージの可用性
すべての集計パイプライン ステージは、 $indexStats
を除くシステムユーザーが利用できます。 ただし、 アプリケーションユーザー のコンテキストで 集計パイプラインを実行する 場合、App Services では次の集計パイプライン ステージはサポートされません。
操作 | ノート |
---|---|
By default, $merge and $out route the entire aggregation operation tothe cluster's primary node. If you want to force these stages to respect your configured cluster read preference, set the enforceReadPref option totrue . | |
App Services performs $search operations as a system user andenforces field-level rules on the returned search results. This means that a user may search on a field for which they do not have read access. In this case, the search is based on the specified field but no returned documents include the field. The $$SEARCH_META aggregation variable is only available for functions that run as system or if the first role on the searched collection has its apply_when and read expressions set to true .If neither of these two scenarios apply, $$SEARCH_META is undefinedand the aggregation will fail. | |
集計パイプライン演算子の可用性
App Services は、 システムユーザー のコンテキストで 集計パイプラインを実行する 場合、すべての 集計パイプライン演算子 をサポートします。
App Services は、次の演算子を除く、アプリケーションユーザーコンテキスト内のすべてのパイプライン演算子をサポートしています。
データベース コマンド
App Services は、 クライアント SDK または 関数 内の データベースコマンド をサポートしていません。ただし、 App Services ワイヤプロトコルを介して MongoDB クラスターに接続すると、データベースコマンドの限定的なサブセットを呼び出せます。
次のデータベースコマンドは、ワイヤプロトコル経由で部分的にサポートされています。 各コマンドでサポートされていないオプションを以下に示します。
注意
App Services アプリは、 admin
データベースでコマンドを実行できません。
データベースコマンドの可用性
コマンド | サポートされていないオプション | アプリ サービス固有のオプション |
---|---|---|
| ||
|
| |
| ||
| ||
| ||
|
[1] | App Services は、システムレベルの権限を持つ関数または trigger で実行される場合、 allowDiskUse をサポートします。 |