过滤的更改调用上的CouchDB和版本

过滤的更改调用上的CouchDB和版本,couchdb,Couchdb,在我的couchDB数据库中,我有一个过滤器,它只会发出包含doc.my_key==“value”的文档,如下所示: { "id": "_design/test". "filters": { "value_only": "function(doc){return (doc['my_key'] == 'value');}" } } 当我写两个这样的文档时: { "id": 1, "my_key": "cheeky" } { "id":2, "my_key":

在我的couchDB数据库中,我有一个过滤器,它只会发出包含
doc.my_key==“value”
的文档,如下所示:

{
  "id": "_design/test".
  "filters": {
    "value_only": "function(doc){return (doc['my_key'] == 'value');}"
  }
}
当我写两个这样的文档时:

{
  "id": 1,
  "my_key": "cheeky"
}

{
  "id":2,
  "my_key": "value"
}
{
  "id":2,
  "my_key": "no longer value"
}
然后,位于
/this\u database/\u changes?filter=test/value\u only
的json读取:

{
  "results":[
    {"seq":2,"id":"2","changes":[{"rev":"1-463e18b34dfa529dd9b39981ad3293f4"}]},
  ],
  "last_seq":4
}
这很酷。CouchDB很酷。但是,我现在更新文档#2如下:

{
  "id": 1,
  "my_key": "cheeky"
}

{
  "id":2,
  "my_key": "value"
}
{
  "id":2,
  "my_key": "no longer value"
}

过滤的更改提要现在为空。我知道这是因为当一个文档被更新时,该文档以前的序号会从变更提要中删除,但是否有任何参数可以传递/配置编辑,以便返回该文档ID的最新版本?

突然,变更提要中没有此类参数。处理所有更改事件的唯一方法是将提要作为连续流侦听。然而,即使是这种情况也不能为您提供任何保证,因为压实作业的赛道条件,收到的版本号将可用

如果存在任何冲突(例如,文档有两个具有不同叶版本的“标题”),则更改提要只会发出叶版本和获胜的版本。对于后者,您可以传递
?style=all_docs
查询参数来检索文档的所有现有页

例如:

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
' Document with _id foo                                             '
'                                                                   '
' +-----------------+       +-------+       +-------+     +-------+ '
' |      1-abc      | ----> | 2-cde | ----> | 3-fgh | --> | 4-ijk | '
' +-----------------+       +-------+       +-------+     +-------+ '
'                             |                                     '
+ - - - - - - - - - - - -     |         - - - - - - - - - - - - - - +
                          '   |       '
                          '   |       '
                          '   v       '
                          ' +-------+ '
                          ' | 3-123 | '
                          ' +-------+ '
                          '           '
                          + - - - - - +
默认行为(
style=main\u only
)将生成获胜的修订版:
4-ijk
,而
style=all\u docs
的更改提要将生成此文档的
3-123
4-ijk
修订版


在中不确定,但我认为这是数据库数据结构的优化使用和防止与压缩冲突的保护,压缩处理所有非LEFS修订。

突然,没有用于更改提要的此类参数。处理所有更改事件的唯一方法是将提要作为连续流侦听。然而,即使是这种情况也不能为您提供任何保证,因为压实作业的赛道条件,收到的版本号将可用

如果存在任何冲突(例如,文档有两个具有不同叶版本的“标题”),则更改提要只会发出叶版本和获胜的版本。对于后者,您可以传递
?style=all_docs
查询参数来检索文档的所有现有页

例如:

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
' Document with _id foo                                             '
'                                                                   '
' +-----------------+       +-------+       +-------+     +-------+ '
' |      1-abc      | ----> | 2-cde | ----> | 3-fgh | --> | 4-ijk | '
' +-----------------+       +-------+       +-------+     +-------+ '
'                             |                                     '
+ - - - - - - - - - - - -     |         - - - - - - - - - - - - - - +
                          '   |       '
                          '   |       '
                          '   v       '
                          ' +-------+ '
                          ' | 3-123 | '
                          ' +-------+ '
                          '           '
                          + - - - - - +
默认行为(
style=main\u only
)将生成获胜的修订版:
4-ijk
,而
style=all\u docs
的更改提要将生成此文档的
3-123
4-ijk
修订版


不确定,但我认为这是数据库数据结构的优化使用和与压缩冲突的保护,压缩处理所有非LEFS修订。

谢谢,没有这样的功能有点令人失望,但我能理解为什么!谢谢,没有这样的功能有点令人失望,但我能理解为什么!