2012-10-25 77 views
4

如何获取数据存储桶中的所有文档?如何使用c#从数据桶中获取所有文档?

我已经尝试过一个示例,但我只能得到一个特定的文档。这里是我的代码:

CouchbaseClient oclient; 

oclient= new CouchbaseClient("vwspace", "");// data bucket name 

var results = oclient.Get("205");// document id 

如何获取所有文件?

var results = oclient.? //what should i use here to get all documents 
+0

参考:http://stackoverflow.com/questions/27784283/how-to-retrieve-a-list-of-keys-documents-in-couchbase-database-in-c-sharp – digiVader

回答

0

您无法获取所有文档。创建一个“恒”原子整数值,这将是counter这样的:

CouchbaseClient oclient; 

oclient= new CouchbaseClient("vwspace", "");// data bucket name 

ulong results = (ulong)oSourceBucket.Get("MYCOUNTER");// counter (integer incremental value) 

当您添加文档斗不与一些documentId添加它们(我想你得到的形式SQL数据库或某事),但使他们counter这样的:

results = oSourceBucket.Increment("MYCOUNTER", results, 1);// counter (integer incremental value) 

oSourceBucket.Store(StoreMode.Add, "MYITEM." + results.toString(), myNewObjectToStore); 

现在你可以使用for循环来oSourceBucket.Get(...)的所有项目,直到MYCOUNTER值。我不确定Couchbase 2.0的新版本是否会获得模式,但目前的稳定版本(1.8.1我认为)只允许精确的密钥获取。

Remeber这是key-value存储,而不是SQL :)

也有是在Couchbase,但它不存在.NET客户端的最后一个稳定版本MultiGet但引擎盖就像for...循环下使用与多个Get-s。

+0

oSourceBucket.Store (StoreMode.Add,“MYITEM。”+ results.toString(),myNewObjectToStore); myNewObjectToStore指定什么?请澄清这一点,因为我是新来的.. – Xavier

+1

myNewObjectToStore是你希望存储到Couchbase的对象,在这种情况下你的文档:) –

+0

我有5个文档..我不需要添加新的文档..我需要的是我可以访问这5个文档..我可以得到所有这些5个文件..是否可以用ur代码实现..如果可能的话可以分享我的代码.. – Xavier

5

使用Couchbase Server 2.0,您将使用视图来获取所有文档。你的看法会是这样的:

function (doc, meta) { 
    emit(null, null); 
} 

此视图会给您可以访问所有的IDS(ID始终包含在非还原视图的查询结果)。

有关.NET中的查看和查询视图的更多信息,请参阅http://blog.couchbase.com/strongly-typed-views-net-client-library

+0

这是否也允许我访问设计文档..? – Xavier

0

您需要创建一个发射文档ID(meta.id)的couchbase视图。

或使用发出每条记录的现有视图。

然后

http://HOST:8092/YOURBUCKETNAME/_design/YOURDESIGNDOCNAME/_view/YOURVIEWNAME?reduce=false&limit=10 

你会得到类似结果如下

{"total_rows":85,"rows":[ 
{"id":"key1","key": ... ,"value": ... }, 
{"id":"key2","key": ... ,"value": ... }, 
{"id":"key3","key": ... ,"value": ... }, 
... 
] 
} 

的 “ID” 字段包含文档的关键。

您需要对结果进行分页。 http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-writing-querying-pagination.html

相关问题