azure-cosmosdb - Azure Cosmos DB:支持更新管道,还是 Cosmos 本机方式来模拟?
问题描述
我们想从使用 MongoDB 4.2 切换到 Cosmos DB,但意识到阻止我们这样做的是更新(聚合)管道。MongoDB 支持它们,在 Cosmos DB 上,我们收到一个看起来很奇怪的错误Expected type object but found array.
,提示我们相信它们不受支持(因为您提供了一系列更新阶段而不是更新文档)。
有没有办法用 Cosmos DB 方法实现类似的东西?
MongoDB 中的更新管道允许您将具有多个步骤的文档作为一个原子操作来更新。管道目前看起来有点像这样(跟踪预订的库存系统):
- 将一个字段设置为一个值,并将另一个字段设置为基于某些输入和某些文档字段的计算值
- 设置一个布尔标志,以防第 1 步的计算结果为 0 或更少
- 将 DateTime 标志设置为 NOW,以防第 2 步的计算触发“假”
解决方案
推荐阅读
- snowflake-cloud-data-platform - 雪花缺少 DDL 命令的定义
- node.js - NodeJs API 测试:-获取未捕获的类型错误:无法读取未定义的属性“状态”
- hash - 如何使用 HASH 对象进行 1=1 左连接
- rust - 如何通过传递另一个较小的切片来修改较大切片(或 Vec)的一部分?
- python - IndexError:索引 440 超出了 Python 中大小为 440 的轴 0 的范围
- jquery - 无法通过/使用 ajax 函数调用 Django 视图函数
- c++ - 从 CMD 编译时更改平台工具集
- c# - 如何在 LINQ 中计算累积和?
- python - yum install python27-python-devel.x86_64, policycoreutils-python-2.5-22.el7.x86_64 缺少 libapol.so 的要求
- typescript - Typescript 将对象数组映射到一个合并的对象类型类型声明