Ich habe eine Mnesiatabelle für diesen Datensatz.erlang - Wie kann ich Tupelinhalte mit qlc und mnesia abgleichen?
-record(peer, {
peer_key, %% key is the tuple {FileId, PeerId}
last_seen,
last_event,
uploaded = 0,
downloaded = 0,
left = 0,
ip_port,
key
}).
Peer_key ist ein Tupel {FileId, ClientId}, jetzt muss ich das ip_port Feld von allen Peers extrahieren, die eine bestimmte FileId haben.
kam ich mit einer praktikable Lösung, aber ich bin mir nicht sicher, ob dies ein guter Ansatz ist:
qlc:q([IpPort || #peer{peer_key={FileId,_}, ip_port=IpPort} <- mnesia:table(peer), FileId=:=RequiredFileId])
Dank.