我可以在 couchbase docusing n1ql 或 node sdk 中向数组添加新对象吗
Can I add new object to the array in couchbase docusing n1ql or node sdk
我有以下文档:
{
"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,
}
]
}
现在我有了另一个媒体对象,所以我可以更新此文档并将新的媒体对象添加到媒体数组中。
目前我正在获取整个文档并通过 node.js 代码推送新对象所以有没有办法在 couchbase 中使用镍或 sdk 来做到这一点
如果您有 Couchbase Server 4.5,则可以通过节点 js SDK 使用 "sub-document" 功能来做到这一点。
类似于:
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
});
我有以下文档:
{
"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,
}
]
}
现在我有了另一个媒体对象,所以我可以更新此文档并将新的媒体对象添加到媒体数组中。
目前我正在获取整个文档并通过 node.js 代码推送新对象所以有没有办法在 couchbase 中使用镍或 sdk 来做到这一点
如果您有 Couchbase Server 4.5,则可以通过节点 js SDK 使用 "sub-document" 功能来做到这一点。
类似于:
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
});