2017-05-19 4 views
0

phonegap을 사용하여 모바일 앱을 만들고 있습니다.Phonegap/Cordova 및 Couchbase 모바일/서버

Couchbase를 사용하여 데이터를 저장하기로 결정했습니다. 하지만 나는 Couchbase 모바일을 사용해야 할 것인지 아니면 couchbase 서버에 직접 (자바 스크립트) 내 앱을 연결할 수 있는지 그리고 내 .net 앱을 '쿼리'하는 방법을 알 수는 없습니다.

내 시스템에 couchbase 서버를 다운로드했지만 내 응용 프로그램과 연결하는 방법은 무엇입니까?

N1QL을 사용하여 phonegap을 사용하여 .NET에서 서버에 '쿼리'할 수 있습니까? (couchbase mobile이 n1ql을 지원하지 않기 때문에).

.NET 또는 JAVA로 완료 한 나머지 웹 서비스를 호출 할 수 있지만 응용 프로그램에 couchbase 모바일을 추가해야합니까?

이 C 번호의 쿼리가 모바일 문서 카우치베이스 주식회사입니다 : 내가 전화하는 방법

var document = database.CreateDocument(); 
var properties = new Dictionary<string, object>() 
    { 
     {"type", "list"}, 
     {"title", "title"}, 
     {"created_at", DateTime.UtcNow.ToString ("o")}, 
     {"owner", "profile:" + userId}, 
     {"members", new List<string>()} 
    }; 
var rev = document.PutProperties(properties); 
Debug.Assert(rev != null); 

를? 서로 다른 이유

var doc = new Document<dynamic>{ Id = "document_id", Content = new {Some="value"} }; 
var result = bucket.Insert(doc); 
Console.WriteLine(JsonConvert.SerializeObject(result.Document)); 

:

이 서버 문서에서 쿼리 (이전 모바일에 있었다)입니다? 나는 조금 혼란 스러워요 경우

var DB_NAME = 'todo'; 

function initRESTClient(url) { 
    var client = new SwaggerClient({ 
    spec: window.spec, 
    usePromise: true, 
    }) 
    .then(function (client) { 
     client.setHost(url); 
     if (device.platform == 'android') { 
     var encodedCredentials = "Basic " + window.btoa(url.split('/')[1].split('@')[0]); 
     client.clientAuthorizations.add("auth", new SwaggerClient.ApiKeyAuthorization('Authorization', encodedCredentials, 'header')); 
     } 
     client.server.get_all_dbs() 
     .then(function (res) { 
      var dbs = res.obj; 
      if (dbs.indexOf(DB_NAME) == -1) { 
      return client.database.put_db({db: DB_NAME}); 
      } 
      return client.database.get_db({db: DB_NAME}); 
     }) 
     .then(function (res) { 
      return client.document.post({db: DB_NAME, body: {title: 'Couchbase Mobile', sdk: 'PhoneGap'}}); 
     }) 
     .then(function (res) { 
      console.log('Document ID :: ' + res.obj.id); 
     }) 
     .catch(function (err) { 
      console.log(err); 
     }); 
    }); 

} 

미안하지만 좀 높은 수준의 코딩을 시작하는 명확히해야

은 폰갭에 서버를 연결하는 기능입니다.

+0

클라이언트의 Cordova SQLite 어댑터로 https://pouchdb.com/를 볼 수도 있습니다. –

답변

0

상위 레벨 : 장치의 Couchbase 모바일과 서버의 Couchbase Server (클라우드 또는 전제)가 필요합니다. 모바일과 서버간에 데이터를 푸시/풀하려면 Couchbase Sync Gateway가 실행 중이어야합니다 (클라우드 또는 온 프레미스). 자세한 내용은 Couchbase Mobile Portal for Developers에서 확인할 수 있습니다. 에 관한 질문에 관해서

0

모바일 및 서버 쿼리의 닷넷 버전은

  • 모바일 버전을 different- 이유는 모바일 클라이언트 플랫폼에 내장되는 NoSQL 데이터베이스입니다 카우치베이스 주식회사 라이트로 호출합니다. 데이터베이스는 모바일/데스크톱 클라이언트에 내장되어 있으며 동기화 게이트웨이를 통해 클라우드의 Couchbase Server와 주기적으로 동기화됩니다. 따라서 일반적으로 Windows 모바일 앱에서이를 구현합니다. 또한 데스크톱 클라이언트 응용 프로그램에서이를 구현할 수 있습니다.

  • 서버 버전 -이 경우 Couchbase Server에 대해 쿼리하는 .Net SDK를 사용합니다. 백엔드에있는 .Net 웹 서비스 앱에서이를 구현할 것입니다. 백엔드 웹 서비스는 Java를 비롯하여 지원되는 모든 언어로 구현할 수 있습니다.

Phonegap을 고려하는 경우이 tutorial을 참조 할 수 있습니다. 이것은 Swagger 클라이언트를 사용하여 Couchbase Lite와 통합됩니다. 따라서 네이티브 JS API가 없기 때문에 Swagger 기반 클라이언트입니다. Couchbase Lite는 동기화 게이트웨이를 통해 Couchbase Server와 동기화됩니다.