将记录插入到 Azure Cosmos DB 中文档内的数组中

Mar*_*tin 5 azure azure-functions azure-cosmosdb

我使用 Azure Cosmos DB 按以下格式存储数据。

{
    "id": "id",
    "name": "Name",
    "items": [
        {
            "id": "id",
            "name": "name"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Azure Functions 和 JavaScript 添加到此文档数据库中,并且按预期工作。

现在我想在数组中添加一个新产品products。在不重新创建整个文档的情况下,这甚至可能吗?

我真的很想发送两个这样的输入。

输入 1

{
    "id": "A",
    "name": "Name A",
    "items": [
        {
            "id": "01",
            "name": "Item A"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

输入 2

{
    "id": "A",
    "name": "Name A",
    "items": [
        {
            "id": "02",
            "name": "Item B"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

结果

{
    "id": "A",
    "name": "Name A",
    "items": [
        {
            "id": "01",
            "name": "Item A"
        },
        {
            "id": "02",
            "name": "Item B"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

也许我用错了,也许products应该被规范化成一个单独的文件?

Gau*_*tri 3

这是否可能,而不重新创建整个文档?

无法对文档进行部分更新。您将需要获取现有文档,更新它,然后再次保存整个文档。