如何进行cloudant查询以查找两个字段相等的文档

时间:2019-03-01 22:58:42

标签: nosql couchdb ibm-cloud cloudant

我需要获取所有文件,例如“ _id”字段等于另一个文档字段,例如“ appId”

{
  "_id": "xxxx-xxxx-xxxx-xxxx",
  "_rev": "xxxx-xxxx-xxxx-xxxx",
  "header": {
    "appId": "xxxx-xxxx-xxxx-xxxx"

那查询是什么?

   "selector": {
      "_id": {
         "$eq": header.appId
      }
   },

1 个答案:

答案 0 :(得分:0)

您不能使用Mango进行“子查询”。

据我所知,您正在尝试获取appId列出的所有文档。

这可以通过使用视图来完成。

您的地图功能如下:

if(doc.header && doc.header.appId){
    emit(doc.doc.header.appId,{_id: doc.header.appId});
}

结果将是doc.header.appId映射的文档列表。

如果您使用?include_docs=true查询视图,由于我们正在执行ManyToJoin联接,因此文档将被联接到响应中。