Docs 菜单
Docs 主页
/ /
Atlas App Services
/

CRUD 和聚合 API

在此页面上

  • Overview
  • 增删改查操作
  • 查询运算符
  • 更新操作符
  • 批量写入操作
  • 查询选项
  • 聚合(Aggregation)
  • 聚合方法
  • 聚合管道阶段可用性
  • 聚合管道操作符可用性
  • 数据库命令
  • 数据库命令可用性

本页列出了对 MongoDB 命令、操作符、选项和聚合阶段的 MongoDB 数据源支持。

有关如何通过函数读写 MongoDB 数据的信息,请参阅查询 MongoDB Atlas

有关支持的功能和限制的更多信息,请参阅服务限制

注意

是否支持某项操作,可能取决于您是作为应用程序用户还是作为系统用户运行该操作。

  • 用户函数在特定应用程序用户的上下文中运行,并实施数据访问权限和模式验证,因此某些操作无法进行。

  • 系统函数作为通用系统用户运行,不受规则或模式验证的限制。某些操作仅适用于系统函数。

对于在 用户函数 中运行的查询, Atlas App Services支持大多数 查询运算符 。但是,某些评估操作符以及所有地理空间和按位操作符只能在系统函数中使用。

操作
用户函数
系统函数
操作
用户函数
系统函数
操作
用户函数
系统函数
操作
用户函数
系统函数
操作
用户函数
系统函数
No
No
No
No
No
操作
用户函数
系统函数
No
No
No
No
操作
用户函数
系统函数
No
No
No
No

Atlas App Services支持大多数在 用户函数 中运行的查询的 更新操作符 。但是,某些数组更新操作符只能在系统函数中使用。

操作
用户函数
系统函数
操作
用户函数
系统函数
修饰符
用户函数
系统函数
Operator
用户函数
系统函数

App Services支持使用与 MongoDB Node.js驾驶员 相同的API进行批量写入操作。

您可以通过调用 集合.initializeOrderedBulkOp() 来定义有序批量操作 并操作 OrderedBulkOperation 对象。

App Services 支持以下OrderedBulkOperation 方法:

操作
用户函数
系统函数

您可以通过调用 collection.initializeUnorderedBulkOp() 并操作其返回的 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 to
the cluster's primary node. If you want to force these stages to respect your
configured cluster read preference, set the enforceReadPref option to
true.

App Services performs $search operations as a system user and
enforces 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.

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 undefined
and the aggregation will fail.

当您在 系统用户Atlas App Services 上下文中 运行聚合管道 时, 支持所有 聚合管道操作符 。

App Services 支持应用程序用户上下文中的所有管道操作符,但以下操作符除外:

App Services不支持客户端 SDK 或 函数 中的任何 数据库命令 。但是,当通过App Services传输协议连接到MongoDB 集群时,您可以调用有限的一部分数据库命令。

传输协议部分支持以下数据库命令。下面列出了每个命令不支持的选项。

注意

App Services 应用无法在 admin 数据库上运行命令。

命令
不支持的选项
特定于 App Services 的选项
  • hint

  • skip

  • batchSize

  • comment

  • maxScan

  • maxTimeMS

  • readConcern

  • max

  • min

  • returnKey

  • showRecordId

  • tailable

  • awaitData

  • oplogReplay

  • noCursorTimeout

  • allowPartialResults

  • collation

  • distinct

  • explain

  • allowDiskUse [1]

  • readConcern

  • collation

  • bypassDocumentValidation

  • hint

  • comment

  • writeConcern

  • enforceReadPref

  • limit

  • skip

  • hint

  • readConcern

  • writeConcern

  • bypassDocumentValidation

  • bypassDocumentValidation

  • collation

  • collation

[1] 在具有系统级权限的函数或触发器中运行时,App Services 支持 allowDiskUse

后退

连接到 MongoDB 数据源