2017-03-11 2 views
0

フィールドの特定の値を検索できます。他のフィールドと同じフィールドを検索するにはどうすればよいですか?例えば、2つのフィールドが等しいレコードを返すクラウドクエリ

私はdocIdparentDocIdを持っています。 docId == parentDocIdのレコードを検索するにはどうすればよいですか?私はparentDocId == DOCID場所を検索したい

let query = ["parentDocId": ["$eq":"123"]] 
let result = datastore.find(query, skip: 0, limit: 0, fields: nil, sort: nil) 

クエリが "123" に等しい特定のIDを検索します。

アイデア?

p.s.私はSwiftを使用しています

答えて

1

Cloudant Queryを使用する必要はありません。

GET https://$USERNAME:[email protected]$HOST/$DATABASE/_design/demo/_view/parent_child HTTP/1.1 

彼らは基本的な概念であるため、すべてのクライアントライブラリは、ビューをサポートする必要があります:あなたのドキュメントはあなたがa view

このような
PUT https://$USERNAME:[email protected]$HOST/$DATABASE/_design/demo HTTP/1.1 
Content-Type: application/json 

{ 
    "views": { 
    "parent_child": { 
    "map": "function (doc) {\n if(doc._id === doc.parentDocId) {\n emit(doc._id, 1);\n }\n}" 
    } 
    } 
} 

を作成し、それを照会することができ、以下の構造

{ 
"_id": "2b7946de457b6fc9af3e3d29faa3fcba", 
"_rev": "3-088f847ef010504e7a5beb0c821d72ea", 
"parentDocId": "2b7946de457b6fc9af3e3d29faa3fcba", 
... 
} 

を持っていると仮定すると、 CouchDB/Cloudantで私はSwiftに慣れていませんが、ライブラリのドキュメントでは、私がリストした一般的なHTTPと同等の呼び出しを行うために呼び出す必要がある適切なメソッドを特定する必要があります。

+0

Hmm。唯一のことは、私が現在オフラインファーストモードで使っていることです。インターネットはなく、雲はありません。オフラインモードでビューを作成することはできますか?私はそれを試してみましょう。 – oyalhi

+0

オフラインで最初に設定するためのローカルpouchdbをお持ちの場合は、そこにビューを作成することもできます。 –

関連する問題