Azure 如何在cosmos数据库中编写存储过程来更新文档

Azure 如何在cosmos数据库中编写存储过程来更新文档,azure,azure-cosmosdb,Azure,Azure Cosmosdb,我注意到,我们无法在azure门户中的查询编辑器上编写类似SELECT的容器上的更新查询。我想更正可用于重置文档数据的可重用代码 请告诉我,编写存储过程是否是实现这一目标的正确方法 我正在更新一份文件,比如 { 分区键:98776632-34er-ii76-318a-9876543456ae, 客户:{ firstName:UserFirstName, lastName:UserLastName, 电邮:user@gmail.com, 密码:4Ftyer%4s }, 结余:400 } 这在查询编

我注意到,我们无法在azure门户中的查询编辑器上编写类似SELECT的容器上的更新查询。我想更正可用于重置文档数据的可重用代码

请告诉我,编写存储过程是否是实现这一目标的正确方法

我正在更新一份文件,比如

{ 分区键:98776632-34er-ii76-318a-9876543456ae, 客户:{ firstName:UserFirstName, lastName:UserLastName, 电邮:user@gmail.com, 密码:4Ftyer%4s }, 结余:400 }

这在查询编辑器中不起作用,因为不允许更新查询
请告诉我如何使用存储过程获取此工具。谢谢

首先,COSMOSDB到目前为止还不支持文档的部分更新,您的测试也证明了这一点。这里有一个问题,没有任何更新

因此,我的想法是删除并插入一个新文档

=========================更新======================

我试过这个密码

function example(param) {
    var collection = getContext().getCollection();
    var containerLink = collection.getSelfLink(); 
    var documentQuery ={
                    'query': 'SELECT * FROM c where c.category = @param ',
                    'parameters': [{ 'name': '@param', 'value': param }]
                };
    
    collection.queryDocuments(containerLink, documentQuery,
        function (err, items) {
            console.log(JSON.stringify(items));
            items.forEach(element => {
                element.name="bac";
                collection.replaceDocument(element._self, element, function (err) {
                    if (err) throw err;
                });
            });
        }
    );
}

仅供参考,这里有几个问题和答案与您的直接相关,它们解释了通过查询语言进行的唯一操作是SELECT——就像我不久前写的那样。尽管这不是一个完全相同的问题,但我将其标记为与该答案相关的问题的副本,因为这是相同的基本问题。
function example(param) {
    var collection = getContext().getCollection();
    var containerLink = collection.getSelfLink(); 
    var documentQuery ={
                    'query': 'SELECT * FROM c where c.category = @param ',
                    'parameters': [{ 'name': '@param', 'value': param }]
                };
    
    collection.queryDocuments(containerLink, documentQuery,
        function (err, items) {
            console.log(JSON.stringify(items));
            items.forEach(element => {
                element.name="bac";
                collection.replaceDocument(element._self, element, function (err) {
                    if (err) throw err;
                });
            });
        }
    );
}