2017-05-14 4 views
0

select 쿼리를 사용하여 couchbase 서버에서 문서를 가져올 때 수동으로 추가 한 문서가 아니라 프로그래밍 방식으로 추가 된 레코드 반환 클러스터에 C#을 추가 couchbase 서버에 추가)하지만 모든 문서를 원합니다couchbase 서버가 C# 코드를 사용하여 버킷에 수동으로 추가 된 문서 (couchbase 서버에서 버킷 옵션을 생성 할 때 추가 한 문서)를 반환하지 않음

내 코드 아래에. 내가 무엇을 놓쳤는가

 var clientConfiguration = new ClientConfiguration(); 
     clientConfiguration.Servers = new List<Uri> { new Uri("http://localhost:8091/pools/") }; 

     List<string> objDocList = new List<string>(); 
     Cluster Cluster = new Cluster(clientConfiguration); 
     var bucket = Cluster.OpenBucket(); 
     var result = bucket.Query<dynamic>("select * from testbucket"); 


     foreach (var row in result) 
     { 

       dynamic propJSON = JsonConvert.SerializeObject(row); 

     //propJSON not contain id 

     } 

답변

0

당신의 쿼리는 testbucket이 아니라 기본 버킷을 치고 있습니다. using 문에서 버킷을 래핑해야합니다.

testbucket에 기본 색인을 만들어야 할 가능성이 높습니다. This answer은 필요한 것에 대해 가장 잘 논의합니다. 같은되는 것을 종료됩니다

귀하의 코드 ...

using (var bucket = Cluster.OpenBucket("TestCheck2")) 
{ 
    var query = bucket.CreateQuery("dev_testcheck2", "getall"); 
    var data = bucket.Query<dynamic>(query); 
    foreach (var item in data.Rows) 
    { 
     Console.WriteLine($"{item.Value[0]}: Title: \"{item.Value[1]}\" Body: {item.Value[2]}"); 
    } 
} 

dev_testcheck2 내 개발보기 설계 문서 및 GETALL의 이름의 접미사 내보기의 이름입니다.