2012-10-25 81 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

相關問題