2017-02-05 4 views
0

im Versuch, eine bestimmte Json Daten aus pouchdb zurück zu erhalten und wenn die Daten vorhanden ist, ich möchte es einige Aktivität anzeigen. Aber irgendwie bin ich dazu nicht in der Lage. meinen Codewie json Daten aus pouchdb

var PouchDB = require('PouchDB'); 
//Creating the database object 
var db = new PouchDB('my_database'); 
//Reading the contents of a Document 
var res = db.get('001', function(err, doc) 
    if (err) 
{ 
return console.log(err); 
} 
else 
{ 
var data = JSON.stringify(res) 
return console.log(doc); 
} }); 

Das Ergebnis i erhalten ist: {} emptyset

Antwort

0

Das Problem in Ihrem Beispiel ist, dass Sie PouchDB mit Rückrufe und Versprechungen verwenden. Sie müssen entweder den Rückruf oder das Versprechen verwenden. Hier ist das Snippet, das Sie verwenden sollten. Ich machte ein Beispiel mit Rückrufen und Versprechungen.

Versprechen machen Ihren Arbeitsablauf sauberer, wie Sie sehen können.

Außerdem wird das Beispiel aus Sicherheitsgründen nicht direkt in StackOverflow ausgeführt. Hier ist ein externes Arbeitsbeispiel: http://jsbin.com/javipoguqe/1/edit?js,console

//Creating the database object 
 
var db = new PouchDB('my_database'); 
 

 
//Callback example 
 

 
db.get('001', function(err, doc) { 
 
    if (err) { 
 
    return console.log(err); 
 
    } else { 
 
    var data = JSON.stringify(res) 
 
    return console.log(doc); 
 
    } 
 
}); 
 

 
//Promise example 
 

 
var promise = db.get('001'); 
 
promise.then(function(res) { 
 
    console.log(JSON.stringify(res)); 
 
}).catch(function(err) { 
 
    console.log(JSON.stringify(err)); 
 
}); 
 

 

 
//Example to show advantages of promises 
 

 
db.put({ 
 
    '_id': "001", 
 
    name: "newdoc" 
 
}).then(function(res) { 
 
    return db.get('001'); 
 
}).then(function(res) { 
 
    console.log("Document was added and retrieved"); 
 
}).catch(function(err) { 
 
    console.log(JSON.stringify(err)); 
 
});
<script src="https://cdn.jsdelivr.net/pouchdb/latest/pouchdb.min.js"></script>