【问题标题】:How to update a Cosmos DB item from a Node JS app如何从 Node JS 应用程序更新 Cosmos DB 项目
【发布时间】:2020-11-11 14:52:42
【问题描述】:

我有一个 Cosmos 文档数据库,其中包含许多项目,我想更新一个项目。

我试过这样做:

const { resources: updatedItem } = await container.item(existingType).replace(newItem)

但是得到这个错误:

Illegal characters ['/', '\', '?', '#'] cannot be used in resourceId

经过进一步研究,这是因为 _rid 是从现有类型中读取的,并且包含像 AAAAA==/ 这样的模式

处理这个问题的最佳做法是什么?

【问题讨论】:

    标签: node.js azure nosql azure-cosmosdb put


    【解决方案1】:

    根据API document

    阅读项目的定义。任何提供的类型 T 不一定 由 SDK 强制执行。您可能会获得更多或更少的财产,而且它已经结束了 根据您的逻辑来执行它。如果类型 T 是一个类,它不会通过 typeof 比较,因为它没有匹配原型。它是 建议只使用接口。

    JSON 项目没有设置模式。它们可能包含任意数量的 自定义属性。

    您可以创建实体类,以便您可以删除系统属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-29
      • 2019-06-23
      • 2021-12-05
      • 1970-01-01
      • 2013-08-14
      • 2020-01-09
      • 2021-05-20
      相关资源
      最近更新 更多