0
生タプルをデータベースに保存する必要があります。生タプルをデータベースに保存する - エリクシル
値:
conn.adapter = {Plug.Adapters.Cowboy.Conn, {:http_req, #Port<0.14529>, ranch_tcp, :keepalive, #PID<0.528.0>, "GET", :"HTTP/1.1", {{127, 0, 0, 1}, 2866}, "localhost", :undefined, 4000, "/click", :undefined, "campaign_id=44", undefined, [], [{"host", "localhost:4000"}, {"user-agent", "Mozilla/5.0 X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0"}, "accept", text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}, {"accept-anguage", "en-US,en;q=0.5"}, {"accept-encoding", "gzip, deflate"}, "cookie", _ga=GA1.1.1071807366.1485427699"}, {"connection", "keep-alive"}, {"upgrade-nsecure-requests", "1"}], [{"connection", ["keep-alive"]}], :undefined, [], waiting, "", :undefined, false, :waiting, [], "", :undefined}}
enter code here
は
field :field5, {:array, :string}
P1.Repo.insert!(%P1.TestTable{field1: "Header Track",field2: ip, field3: conn.host, field5: conn.adapter})
、と試みたが、それは
TestTable.field5` in `insert` does not match type {:array, :string}
あるいは少なくとも、などのエラーがスローされます、これらのデータは、文字列に変換し、内に保存する必要がありますdb
詳細を教えてください。 *何がうまくいきませんか? –
あなたはなぜこれをやりたいのか分かりますか?タプルにはポートとpidも含まれていますが、後で値を取得するときには存在しないか、同じである可能性があります。後で値を見たいだけで、正確な値を返す必要がない場合は、 'inspect'を使って文字列に変換することができます。この正確な値を実際に保存したい場合は、任意の用語をシリアライズ/デシリアライズするために ':erlang.term_to_binary/1'と':erlang.binary_to_term/1'があります。 – Dogbert
@zv確かに更新されました –