如何将查询写入我的Cloudant数据库?

use*_*818 1 nosql cloudant ibm-cloud

我正在尝试为我的NoSQL数据库实现正确的查询,但我很困惑如何在Cloudant中执行此操作.在SQL中有

SELECT * FROM mydb
WHERE user_permit_doc_id = 10 
AND user_tracking_id = 1
Run Code Online (Sandbox Code Playgroud)

我的查询如下:

https://293e2cb7-3561-4004-a1c3-58d54f517ee6-bluemix.cloudant.com/user_files/_design/user_tracking/_view/new-view?startkey=["user_permit_doc_id:10"]
Run Code Online (Sandbox Code Playgroud)

它返回所有文档,而不仅仅是具有此id的文档.

这是View的Map Reduce功能

function(doc) {
    if(doc.user_tracking_id !== null){
        emit(doc);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的docs数据库中的doc示例

{
  "_id": "6e57baa78c6415beeee788bc786cc53a",
  "_rev": "5-f15352bce99c307bd246bda4dc0da75a",
  "user_tracking_id": "1",
  "user_permit_id": "2",
  "user_permit_doc_id": "10",
  "user_id": "1",
  "_attachments": {
    "6y41j4i68cic.jpg": {
      "content_type": "image/jpeg",
      "revpos": 2,
      "digest": "md5-KC+G5tbz2UWZSzlPHvBy/Q==",
      "length": 68367,
      "stub": true
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

你可以改变你的观点

function(doc) {
  if(doc.user_tracking_id !== null){
    emit([user_tracking_id, user_permit_doc_id]);
  }
}
Run Code Online (Sandbox Code Playgroud)

然后使用复杂键[1,10]进行查询