Azure 如何在cosmos数据库中编写存储过程来更新文档
我注意到,我们无法在azure门户中的查询编辑器上编写类似SELECT的容器上的更新查询。我想更正可用于重置文档数据的可重用代码 请告诉我,编写存储过程是否是实现这一目标的正确方法 我正在更新一份文件,比如 { 分区键:98776632-34er-ii76-318a-9876543456ae, 客户:{ firstName:UserFirstName, lastName:UserLastName, 电邮:user@gmail.com, 密码:4Ftyer%4s }, 结余:400 } 这在查询编辑器中不起作用,因为不允许更新查询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 } 这在查询编
请告诉我如何使用存储过程获取此工具。谢谢首先,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;
});
});
}
);
}