2017-12-20 3 views
0

Meine Dokumente haben die Eigenschaft docType, die sie basierend auf dem Zweck der einzelnen Typen, im speziellen Fall Vorlage oder Audit getrennt. Allerdings, wenn ich folgendes tun:Wie kann man Daten in Couchbase Lite nach Eigenschaften abrufen?

document.getProperty("docType").equals("template"); 
document.getProperty("docType").equals("audit"); 

Die Ergebnisse von ihnen sind immer gleich, es gibt jedes Mal, alle Dokumente gespeichert, ohne sie Filterung durch die docType.

Unten können Sie die Abfragefunktion überprüfen.

public static Query getData(Database database, final String type) { 
    View view = database.getView("data"); 
    if (view.getMap() == null) { 
     view.setMap(new Mapper() { 
      @Override 
      public void map(Map<String, Object> document, Emitter emitter) { 
       if(String.valueOf(document.get("docType")).equals(type)){ 
        emitter.emit(document.get("_id"), null); 
       } 
      } 
     }, "4"); 
    } 
    return view.createQuery(); 
} 

Irgendwelche Hinweise?

Antwort

0

Dies ist kein gültiger Weg, dies zu tun. Ihre Ansichtsfunktion muss rein sein (sie kann nicht auf einen externen Status wie "Typ" verweisen). Sobald das erstellt ist, können Sie es dann für das, was Sie wollen, abfragen, indem Sie die Start- und End-Tasten oder nur einen Satz von Tasten zum Filtern festlegen.

Verwandte Themen