Ich habe gerade einen NodeJS cloudantDB Webstarter auf bluemix erstellt. Dann habe ich eine API bekommen Daten von CloudantDB und werde erfolgreich, aber es gibt alle Daten zurück. Bitte beachten Sie js-Datei:CloudantDB & NodeJS: Daten mit spezifischer ID abfragen
js-Datei:
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);
}
});
Wenn ich will Parameter API hinzuzufügen, bestimmte Daten aus der DB zu bekommen, brauchen wir Suchindex oder die Abfrage nach cloudant erstellen, afer diese API-Aufruf der gleich: app.get('/api/provider/:id')
. Bitte helfen Sie mir zu überprüfen und zu teilen. Danke
nach Abfrage, möchte ich addiere Parameter q: 'id:' + request.params.id + "& include_doc s = wahr ". Funktioniert es gut? –
nein, Sie können "& include_docs = true" nicht wie einen Parameter in cloudant verwenden. Bitte lesen Sie die Anleitung, es gibt eine Liste von Parametern, die Sie für die Abfrage Ihrer Daten verwenden können –