首页 文章

我可以在couchbase docusing n1ql或node sdk中向数组中添加新对象

提问于
浏览
0

我有以下doc:

{
    "userId":"b447drga851g",
    "media": [
        {
          "mediaId": "stf9-oi6f-kkvt7s-plt6c-iud5",
          "mediaType": "IMAGE",
          "fileName": "sssss.jpeg",
          "device": "LENOVO A6000",
          "format": "jpg",
          "size": "530",
          "resolution": "1900*1200",
          "isExifData": true,
        },{
          "mediaId": "stf9-oi6f-kkvt7s-plt6c-iud5",
          "mediaType": "IMAGE",
          "fileName": "sssss.jpeg",
          "device": "LENOVO A6000",
          "format": "jpg",
          "size": "530",
          "resolution": "1900*1200",
          "isExifData": true,
        }
      ]
}

现在我有另一个媒体对象,所以我可以更新此文档并将新的媒体对象添加到媒体数组 .

目前我正在获取整个doc并通过node.js代码推送新对象所以有没有办法在couchbase中使用镍或sdk做到这一点

1 回答

  • 2

    如果你有Couchabse Server 4.5,你可以通过nodejs SDK使用“子文档”功能来做到这一点 .

    就像是:

    bucket.mutateIn('userKey')
        .arrayAppend('media',
          {"mediaId": "stf9-oi6f-kkvt7s-plt6c-iud5",
          "mediaType": "IMAGE",
          "fileName": "sssss.jpeg",
          "device": "LENOVO A6000",
          "format": "jpg",
          "size": "530",
          "resolution": "1900*1200",
          "isExifData": true},
          false)
        .execute(function(err, result) {
            //check result and/or error
        });
    

相关问题