Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs CloudantDB&;NodeJS:使用特定id查询数据_Angularjs_Node.js_Ibm Cloud_Cloudant - Fatal编程技术网

Angularjs CloudantDB&;NodeJS:使用特定id查询数据

Angularjs CloudantDB&;NodeJS:使用特定id查询数据,angularjs,node.js,ibm-cloud,cloudant,Angularjs,Node.js,Ibm Cloud,Cloudant,我刚刚在bluemix上创建了一个NodeJS cloudantDB web初学者。然后,我有一个API从cloudantDB获取数据并获得成功,但它返回所有数据。请参阅js文件: js文件: app.get('/api/provider', function(request, response) { console.log("Get method invoked.. ") db = cloudant.use(dbCredentials.dbProvider); va

我刚刚在bluemix上创建了一个NodeJS cloudantDB web初学者。然后,我有一个API从cloudantDB获取数据并获得成功,但它返回所有数据。请参阅js文件:

js文件:

app.get('/api/provider', function(request, response) {

    console.log("Get method invoked.. ")

    db = cloudant.use(dbCredentials.dbProvider);
    var docList = [];
    var i = 0;
    db.list(function(err, body) {
        if (!err) {
            var len = body.rows.length;
            console.log('total # of docs -> '+len);
            if(len == 0) {
                // error
            } else {
                body.rows.forEach(function(document) {
                    db.get(document.id, { revs_info: true }, function(err, doc) {
                        if (!err) {
                            if(doc['_attachments']) {
                                // todo
                            } else {
                                var responseData = createResponseDataProvider(
                                        doc._id,
                                        doc.provider_type,
                                        doc.name,
                                        doc.phone,
                                        doc.mobile,
                                        doc.email,
                                        doc.logo,
                                        doc.address
                                        );
                            }
                            docList.push(responseData);
                            i++;
                            if(i >= len) {
                                response.write(JSON.stringify(docList));
                                console.log('ending response...');
                                response.end();
                            }
                        } else {
                            console.log(err);
                        }
                    });

                });
            }

        } else {
            console.log(err);
        }
    });

如果我想向API添加参数以从DB获取特定数据,我们是否需要在调用相同API的cloudant上创建搜索索引或查询:
app.get('/API/provider/:id')
。请帮我复习和分享。谢谢

您可以使用Cloudant的搜索功能

  • 您需要创建搜索索引。在搜索索引中,您可以管理要获取的数据。 例如:
  • 创建搜索索引后遵循此代码

  • 您可以使用Cloudant的搜索功能

  • 您需要创建搜索索引。在搜索索引中,您可以管理要获取的数据。 例如:
  • 创建搜索索引后遵循此代码

  • 您可以按id/名称获取文档:

    db.get(docID, function(err, data) {
      // do something
    });
    
    参考文献:


    您可以通过id/名称获取文档:

    db.get(docID, function(err, data) {
      // do something
    });
    
    参考文献:


    查询之后,我想添加参数q:'id:'+request.params.id+“&include\u docs=true”。它工作正常吗?不,不能像cloudant中的参数那样使用“&include\u docs=true”。请阅读doucment,它有一个参数列表,您可以用于查询数据。查询后,我想添加参数q:'id:'+request.params.id+“&include_docs=true”。它工作正常吗?不,不能像cloudant中的参数那样使用“&include\u docs=true”。请阅读附录,其中有一个参数列表,可用于查询数据