如何覆盖 Nodejs Azure Cosmos 中的文档

How to overwrite a document in Nodejs Azure Cosmos

需要有关如何使用此 https://www.npmjs.com/package/@azure/cosmos

覆盖 Cosmos 中的文档的一些上下文或指南

例如,现有文档是:

{name: 'John Smith',  age: 25, address: 'Somewhere'}

我想覆盖文件以删除地址,因此文件应该是:

{name: 'John Smith',  age: 25}

有一个替换方法,但只是更新您在正文中指定的字段。除此之外,没有专门覆盖整个文档的功能。

这就是我目前的做法。这是否意味着,我需要读取、删除、创建文档?

const documentToUpdate = this.cosmosClient
      .database(databaseId)
      .container(containerId)
      .item(itemId);
    const { resource } = await documentToUpdate.replace<T>(data, {
      accessCondition: {
        type: 'IfMatch',
        condition: etag,
      },
    });

UPDATE/ANSWER:

我花了 1-2 个小时看错了地方。它就像分配 obj.address = undefined 一样简单,并且该字段在替换期间被删除。这意味着,在将数据发送到 replace() 之前,您需要确定哪些字段需要设置为 undefined。所以,这就是 API 关于 ...You may get more or less properties and it's up to your logic to enforce it.... 的意思 嗯,他们至少应该把它作为一个例子。