作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否可以使用 N1QL 查询同步网关存储桶?它的行为是否像一个普通的沙发基桶,还是因为同步网关添加了元数据,是否可以仅通过 Rest API 查询它?
目前我有一个 webhooks 处理程序,它保留了位于同步网关存储桶下的文档副本。我需要做一些需要推回给客户的聚合。那么,我可以通过同步网关上的 n1ql 直接完成所有这些繁重的工作,还是使用 webhooks 进行聚合并简单地将更新的文档推送到同步网关是正确的选择?
PS:webhooks+Rest APIS 选项目前非常适合我。只是想了解这跳是否有必要?
最佳答案
是的,可以使用 N1QL 查询同步网关 - 您不能更改它(更新/删除/插入),因为它会破坏修订的元数据。
您需要忽略 ID 以 _sync:
开头的文档。和 _sync
每个文档的属性,其中包含内部元数据。其余属性是您常用的文档。
例子:
select db.* from db where meta().id not like '_sync:%'
[
{
"_sync": {
"history": {
"channels": [
null,
null
],
"parents": [
-1,
0
],
"revs": [
"1-b7a15ec4afbb8c4d95e2e897d0ec0a2e",
"2-919b17d3f418100df7298a12ef2a84bb"
]
},
"recent_sequences": [
6,
7
],
"rev": "2-919b17d3f418100df7298a12ef2a84bb",
"sequence": 7,
"time_saved": "2016-05-04T18:54:26.952202911Z"
},
"name": "Document with two revisions"
}
]
_sync
属性:
select name from db where meta().id not like '_sync:%'
[
{
"name": "Document with two revisions"
}
]
select object_remove(db, '_sync') from db where meta().id not like '_sync:%'
[
{
"$1": {
"name": "Document with two revisions"
}
}
]
关于couchbase - 使用 N1QL 查询同步网关桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36871589/
我是一名优秀的程序员,十分优秀!