Nosql 如何查询项目';是Couchbase的元数据吗?

Nosql 如何查询项目';是Couchbase的元数据吗?,nosql,metadata,couchbase,Nosql,Metadata,Couchbase,我把一些数据放到CouchBase 1.8.1中,并获得了成功。但我想查询它的元数据,如过期和att_原因(非json或json)。在一些文档中,它列出了json格式的元数据,例如: { "_id" : "contact_475", "_rev" : "1-AB9087AD0977F089", "_bin" : "...", "$flags" : 0, "$expiration" : 0, "name" : "Fred Bloggs", } 如何查询项目的元数据?因为Pavel在C

我把一些数据放到CouchBase 1.8.1中,并获得了成功。但我想查询它的元数据,如过期和att_原因(非json或json)。在一些文档中,它列出了json格式的元数据,例如:

{
 "_id" : "contact_475",
 "_rev" : "1-AB9087AD0977F089",
 "_bin" : "...",
 "$flags" : 0,
 "$expiration" : 0,
 "name" : "Fred Bloggs",
}

如何查询项目的元数据?

因为Pavel在Couchbase(2.0)中访问元数据最常用的方法是使用视图

您还可以使用内部TAP协议:

你能给我们更多关于你的用例的信息吗?为什么你需要访问meta/expiration?以及为什么不能使用视图(这是推荐的方法)

问候
Tug

最简单的方法是向以下对象发出HTTP请求:
http://serveraddress:8091/couchBase/default/contact_475


响应应包含带有元数据的
X-Couchbase-Meta
头。更多信息如下:

如果您想在Couchbase查询中查看元数据,可以执行以下操作:

SELECT meta(b).* FROM bucket b
SELECT meta(b).*, * FROM bucket b
您还可以通过执行以下操作来查看查询中的元数据和所有其他数据:

SELECT meta(b).* FROM bucket b
SELECT meta(b).*, * FROM bucket b

如果您只想使用查询元数据,您可以运行下面的查询,它将返回有关文档的所有元数据:

select meta(bucket_name) from bucket_name

但是,如果您想从中获取这些信息,则每次使用get请求都会返回给您,REST API还包括对这些元数据的一些过滤。

至少您可以使用Couchbase 2.0.THX中的视图来完成。我改为Couchbase 2.0,并且成功地从视图中获取这些元数据。但是我只存储了一些简单的数据,不想使用视图。有没有其他方法可以获取公共项元数据?我只是尝试通过php pecl memcache模块将php的会话放入Couchbase。但是会话已过期,我想检查它的值。表示$expiration为0。memcache和实际测试之间存在差异。TAP协议对我来说似乎很难,但我会尝试,非常感谢。使用Couchbase时,建议使用此处提供的Couchbase客户端SDK。SDK允许应用程序与Couchbase群集进行良好集成。关于PHP和会话管理,我将邀请您阅读来自Michael的文章,Michael是Couchbase开发者的福音传道者之一:THX。我通过google找到了这些文章,并进行了尝试。这是一些不错的文章。但我认为一些元数据(如过期)是一个重要参数。如果您能够获得,正如使用“memcache dump”命令显示的那样。它更好。我建议使用视图,一旦存储了多个会话,它将比dump命令具有更好的性能。