Ich habe also eine Tabelle mit "Personendaten", die einen eindeutigen Schlüssel "id" haben. Ich habe eine Liste von IDs, von denen ich die Daten erhalten möchte, für die ich als JSON-Array vom Client zum Server senden werde. Der Serve empfängt diese Daten als JSON-Array.
Jetzt gibt es eine Möglichkeit, eine Abfrage auszuführen, die die Dokumente für jede dieser IDs erhält?
Oder ist meine einzige Option, die IDs selbst zu parsen und ein Array von Ergebnissen zu erstellen, dann senden Sie das Array zurück.
Bisher habe ich versucht mit ...
getAll - aber ich kann das nicht zum Laufen bringen, weil es eine dynamische Menge von Parametern akzeptiert und ich nicht weiß, wie ich meine Werte in eine dynamische Menge von Parametern ändern kann.
(Beispiel ... Ich möchte tun können, was unten gezeigt wird, aber ich kann nicht)
%Vor%Ich kann das nur tun ...
%Vor%expr und forEach - wie unten zu sehen, aber ich glaube nicht, dass das funktionieren kann.
%Vor%kurze Antwort:
%Vor%Längere Antwort:
Es gibt mehrere Möglichkeiten, dies zu tun. Das Obenstehende würde ich den kanonischen Weg nennen. Lassen Sie uns zusammenfassen, was passiert:
Zuerst mit r.expr([id1, id2, id3])
packen wir das Array zusammen, um es an den Server zu senden.
Dann rufen wir eqJoin
auf, was es tut, ist ein Strom von Werten zu nehmen und pro CoDe% zu verteilen und zu indizieren. Der get
ist ein etwas hässlicher Hack, weil function(doc) { return doc; }
eine Mapping-Funktion benötigt.
Am Ende entspricht der obige Code:
%Vor% Sie können .expr
mit .map
für eine sauberere Alternative zu .eqJoin
Tags und Links javascript dynamic rethinkdb