2016-04-04 10 views
0

Ich habe zwei Tabellen: Benutzer, user_matching. Und ich möchte Objekte aus beiden Tabellen in 1 Abfrage bekommen. Zum Beispiel, SQL-ähnliche Abfrage:Referenz Suche in Tarantool

Normalerweise sollte ich 2 Abfrage in NoSQL DB verwenden. Jetzt mache ich es wie folgt aus:

  1. von Get user_matching User_id
  2. Mit User_id Erhalten von Benutzer

Kann ich ersetzen Sie es mit nur 1 Abfrage Tarantool verwenden. Und wie?

Antwort

3

Sie müssen gespeicherte Prozedur erstellen, wo Sie Ergebnis von zwei Auswahl kombinieren, z.B .:

function select_user_by_matching_id(matching_id) 
    local id = box.space.user_matching:get{matching_id} # or :select 
    local user_data = box.space.user:get{id} # or :select 
    # work with user_data 
    return user_data 
end 

Nachdem Sie dieses Verfahren erstellen Sie dieses Verfahren über Tarantool Treiber mit Abrufen kombinierte Ergebnis aufrufen können.

Weitere Einzelheiten hier: http://tarantool.org/doc/book/app/c-lua_tutorial.html?highlight=call

+0

Aber wie Tupel von 'id' & 'user_data' in einem Tupel zu kombinieren? – PSIAlt

+1

http://stackoverflow.com/questions/36177960/how-i-can-perform-request-to-tarantool-like-in-mysql/36178380#36178380 Hier finden Sie die Antwort –