如何更新父文档仅在库中

问题描述 投票:1回答:1

任何人都可以帮助我解决这个查询,如何使用Couchbase N1ql查询更新父文档

{
    "created_at": "2020-03-26T15:50:12.318Z",

    "created_by": 1,
    "deleted_at": "",
    "frm21_submit": null,
    "id": "6cb51519-7c6b-499d-8a8d-3c85658605fc",
    "machine_category_id": [
        "7a2eb767-faca-4762-b65b-2db9e1992c82",
        "259a4bcc-feb5-4d98-88c5-b331316e19be"
    ],

    "main_parts": [

        {
            "data": {
                "deleted_at": "777",
                "frm21_submit": null,
                "manufacturing_date": "03/31/2020",
                "model": "234234234",
                "photo": null,
                "serial_number": "324324234",
                "updated_at": "2020-03-31T14:11:48.909Z"
            },
            "id": "66354d7c-4769-4f3b-914e-bb841191e323"
        }
    ]

}

我只想更新父文档,所有字段都是动态的,所以我不能选择字段。像

update machine set "created_by"= 1, "machine_category_id"= [
    "7a2eb767-faca-4762-b65b-2db9e1992c82",
    "259a4bcc-feb5-4d98-88c5-b331316e19be"
  ]  Where id=1

如何仅使用安全的子文档或子文档来动态更新父文档,没有数据丢失。

{

    "created_at": "2020-03-26T15:50:12.318Z",

    "created_by": 1,

    "deleted_at": "",

    "frm21_submit": null,

    "id": "6cb51519-7c6b-499d-8a8d-3c85658605fc",

    "machine_category_id": [
        "7a2eb767-faca-4762-b65b-2db9e1992c82",
        "259a4bcc-feb5-4d98-88c5-b331316e19be"
    ]

}
couchbase n1ql
1个回答
0
投票

更新中的问题是,它引用的是一个称为“ id”的属性,我认为这是文档的关键。要访问文档ID,您必须调用meta().id

update default set created_by= 1, machine_category_id= [
"machine",
"asdasd"
]  Where meta().id = "1"

请注意,文档ID是字符串。

© www.soinside.com 2019 - 2024. All rights reserved.