如何覆盖 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
期间被删除。这意味着,在将数据发送到 replace()
之前,您需要确定哪些字段需要设置为未定义。所以,这就是 API 关于 ...You may get more or less properties and it's up to your logic to enforce it...
的意思。嗯,他们至少应该举个例子。
我花了 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....
的意思 嗯,他们至少应该把它作为一个例子。
需要有关如何使用此 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
期间被删除。这意味着,在将数据发送到replace()
之前,您需要确定哪些字段需要设置为未定义。所以,这就是 API 关于...You may get more or less properties and it's up to your logic to enforce it...
的意思。嗯,他们至少应该举个例子。
我花了 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....
的意思 嗯,他们至少应该把它作为一个例子。