Мы хотели перейти с использования MongoDB 4.2 на Cosmos DB, но поняли, что нам мешают это обновить (агрегировать) конвейеры. MongoDB поддерживает их, в Cosmos DB мы получаем странную ошибку Expected type object but found array.
, которая заставляет нас думать, что они не поддерживаются (поскольку вы предоставляете массив этапов обновления, а не документ обновления).
Есть ли способ достичь чего-то похожего с методами Cosmos DB?
Обновление конвейеров в MongoDB позволяет вам обновлять документ за несколько этапов как одна операция atomi c. В настоящее время конвейер выглядит примерно так (система учета запасов с отслеживанием резервирований):
- Установите для поля значение и установите для другого поля расчетное значение на основе некоторого ввода и некоторого документа fields
- Установите логический флаг в случае, если при вычислении с шага 1 получено 0 или меньше
- Установите для параметра DateTime значение NOW, если при вычислении с шага 2 сработало «false»