2017-06-07 5 views
1

Heres mein Beispiel db mit 3 Reihen darinRethinkDB Abfragefilter gegen mehrere Werte für einzelne Schlüssel

{type:"a", info:""} 
{type:"b", info:""} 
{type:"c", info:""} 

umdenken db verwenden wie würde ich alle Arten von Wert a oder b Liste

// Hier wurde meine erste Lösung, aber ich kann es

r.table("example").filter(r.row("type").eq("a").or("b")).run(conn, function(err, results){...}); 

so nicht dynamisch aufbauen, wenn ich das nächste Mal Typen a und c mag ich in Schwierigkeiten ist. Ich brauche eine Möglichkeit, eine Abfrage zu erstellen. Das Kochbuchbeispiel ergibt für mich keinen Sinn. Irgendwelche Ideen?

Antwort

2

Sie haben geschrieben r.row('type').eq('a').or('b'), aber das tut nicht, was Sie erwarten.

Sie wollen wahrscheinlich r.row('type').eq('a').or(r.row('type').eq('b'))

Sie auch r.expr(['a', 'b']).contains(r.row('type'))

0

fand ich schreiben konnte, dass da Filter nur ein Objekt ist, könnte ich habe nur

var filter; 
filter = r.row("type").eq('a'); 

und wenn ich will mehr, um es hinzuzufügen dann fügst du einfach einen und/oder op zum Filter hinzu. Filter = filter.and (...);

Verwandte Themen