我们的CosmosDemoDB中包含以下集合
富
酒吧
foo接受提交的json。
对foo.json的每次提交
{
"ratingsubmission392": {
"rating": 5,
"SubmissionDate": "2018-01-09T09:25:43.511Z",
"status": "submitted",
"id": "TestDaily1"
}}
我们想将计数增加1
上
酒吧
即
submissionCount++
能否在Cosmos DB中仅使用触发器和Javascript代码而不使用Function app或定期读取foo的Cron Job来完成
如果是,怎么办?
最佳答案
在这里使用Cosmos DB触发器无法满足您的要求,因为不允许触发器对当前集合之外的资源进行操作。
但是您可以使用Azure Cosmos DB Node.js SDK for SQL API轻松实现它。
像这样:
var ratingsubmission392 = {
"rating": 5,
"SubmissionDate": "2018-01-09T09:25:43.511Z",
"status": "submitted",
"id": "TestDaily7"
};
var collLink = "dbs/mydb/colls/foo";
client.createDocument(collLink, ratingsubmission392, (err, doc) => {
if(err) return console.log(err);
console.log('Created Document with id: ', doc.id);
updateBar();
});
function updateBar() {
var docLink = "dbs/mydb/colls/bar/docs/viz";
client.readDocument(docLink, (err, doc) => {
if(err) return console.log(err);
doc.submissionCount = doc.submissionCount++;
client.replaceDocument(docLink, doc, (err, result) => {
if(err) return console.log(err);
console.log('replaced document');
});
});
}