Suche nach Schlüssel in Apache CouchDB

8

Ist es möglich, nach Schlüsselwerten in Apache CouchDB zu suchen? Angesichts der folgenden Beispieldaten (zur besseren Lesbarkeit):

%Vor%

Kann ich die Datenbank nach dem Benutzer jsmith oder nach dem Benutzer mit der E-Mail-Adresse [email protected] abfragen? Wie würde ich darüber gehen?

    
Nate 27.05.2010, 16:45
quelle

3 Antworten

6

Ja, das ist sicherlich möglich. Sie erstellen einige Ansichten, bei denen es sich um sortierte Listen ("Index") Ihrer Daten handelt, eine pro Schlüssel.

Tobias 'Link ist nützlich. Die Standard-CouchDB-Dokumentation behandelt dies jedoch auch:

In Ihrem Designdokument möchten Sie beispielsweise eine users_by_email -Ansicht mit Schlüsseln, die auf dem Feld email basieren. dann wird eine users_by_name -Ansicht auf das username -Feld usw. getastet. Experimentieren Sie mit den temporären Ansichten in Futon, bis Ihre Funktion richtig funktioniert und speichern Sie sie dann dauerhaft in Ihrem Designdokument.

Viel Glück!

P.S. Es gibt eine Möglichkeit, alle diese Anforderungen in einer Ansicht zu kombinieren. Kurz gesagt, Sie könnten ["email", "[email protected]"] oder ["name": "john smith"] eingeben, aber denken Sie daran, CouchDB ist entspannt: Die einfachere Methode oben funktioniert gut. Wenn Sie sich mit Ansichten vertraut machen, können Sie diesen "kollationierten" Stil erkunden.

    
JasonSmith 27.05.2010, 19:03
quelle
2
Tobias 27.05.2010 18:25
quelle
2

Sie können nicht nach einem Schlüsselwert suchen. Sie können nur nach Schlüsseln suchen.

Wenn Sie nach E-Mails suchen möchten, geben Sie [email, whatever data] in einer Ansicht aus und fügen Sie ?key='search email' zur Anzeige der URL hinzu.

Die Suche nach Schlüsseln bietet enorme Leistungsvorteile. Daher wird diese Funktion [Suche nach Schlüsselwert] nie in die CouchDB kommen.

    
Jaseem 30.12.2011 16:14
quelle

Tags und Links