Swift Cloudant查询返回两个字段相等的记录

Swift Cloudant查询返回两个字段相等的记录,swift,cloudant,Swift,Cloudant,我可以搜索字段的特定值。如何搜索与其他字段相同的字段?比如说, 我有docId和parentDocId;如何搜索docId==parentDocId的记录 用于搜索等于123的特定id的查询: let query = ["parentDocId": ["$eq":"123"]] let result = datastore.find(query, skip: 0, limit: 0, fields: nil, sort: nil) 我想搜索parentDocId==docId的位置 有什么想法

我可以搜索字段的特定值。如何搜索与其他字段相同的字段?比如说,

我有docId和parentDocId;如何搜索docId==parentDocId的记录

用于搜索等于123的特定id的查询:

let query = ["parentDocId": ["$eq":"123"]]
let result = datastore.find(query, skip: 0, limit: 0, fields: nil, sort: nil)
我想搜索parentDocId==docId的位置

有什么想法吗


p、 我使用的是Swift,没有必要使用Cloudant查询。假设您的文档具有以下结构

{
 "_id": "2b7946de457b6fc9af3e3d29faa3fcba",
 "_rev": "3-088f847ef010504e7a5beb0c821d72ea",
 "parentDocId": "2b7946de457b6fc9af3e3d29faa3fcba",
 ...
}
你可以这样创造

PUT https://$USERNAME:$PASSWORD@$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}"
   }
  }
 }
并查询:

GET https://$USERNAME:$PASSWORD@$HOST/$DATABASE/_design/demo/_view/parent_child HTTP/1.1

所有客户端库都应该支持视图,因为它们是CouchDB/Cloudant中的基本概念。我不熟悉Swift,但库文档应该确定您需要调用的适当方法,以进行与我列出的常规HTTP方法等效的调用。

Hmm。唯一的问题是,我目前正在脱机第一模式下使用它。没有互联网,也没有云。我仍然可以在脱机模式下创建视图吗?我会尝试一下。如果你有一个本地的PockDB用于你的脱机第一次安装,你也可以在那里创建视图,是的。