Azure cosmosdb Azure Cosmos DB:支持更新管道,还是以Cosmos本机方式模拟?

Azure cosmosdb Azure Cosmos DB:支持更新管道,还是以Cosmos本机方式模拟?,azure-cosmosdb,azure-cosmosdb-mongoapi,Azure Cosmosdb,Azure Cosmosdb Mongoapi,我们想从使用MongoDB 4.2切换到Cosmos DB,但意识到阻止我们这样做的是更新(聚合)管道。MongoDB支持它们,在Cosmos DB上,我们得到一个奇怪的错误预期的类型对象,但找到了数组。这提示我们相信它们不受支持(因为您提供了一个更新阶段数组,而不是更新文档) 有没有一种方法可以实现与Cosmos DB方法类似的功能 MongoDB中的更新管道允许您将多个步骤作为一个原子操作来更新文档。管道目前看起来有点像这样(跟踪预订的库存系统): 将一个字段设置为值,并将另一个字段设置为计

我们想从使用MongoDB 4.2切换到Cosmos DB,但意识到阻止我们这样做的是更新(聚合)管道。MongoDB支持它们,在Cosmos DB上,我们得到一个奇怪的错误
预期的类型对象,但找到了数组。
这提示我们相信它们不受支持(因为您提供了一个更新阶段数组,而不是更新文档)

有没有一种方法可以实现与Cosmos DB方法类似的功能

MongoDB中的更新管道允许您将多个步骤作为一个原子操作来更新文档。管道目前看起来有点像这样(跟踪预订的库存系统):

  • 将一个字段设置为值,并将另一个字段设置为计算值 基于某些输入和某些文档字段的值
  • 如果步骤1的计算结果为0或更少,请设置布尔标志
  • 在触发步骤2的计算时,将DateTime标志设置为NOW “假”

  • 你能不能添加准确的查询(减去机密数据,如果有的话)和服务器返回的错误消息。我有一个类似的问题。我尝试为每个文档附加一个新密钥并复制现有密钥的值。这是我运行的查询:db.collection.update({},[{$set:{newKey:'$oldKey'}}],{“multi”:true})。错误为:应为类型对象,但找到数组。请添加确切的查询(减去机密数据,如果有)和服务器返回的错误消息。我有一个类似的问题。我尝试为每个文档附加一个新密钥并复制现有密钥的值。这是我运行的查询:db.collection.update({},[{$set:{newKey:'$oldKey'}}],{“multi”:true})。错误为:应为类型对象,但找到数组。