Ich möchte Daten in meine Tabelle in Cassandra einfügen und dann Wert aus Spalte "user_id" anstelle von vollständigen ResultSet zurückgeben. Hier ist es Schnipsel meines Code:Scala Phantom Cassandra Einfügemethode gibt leer zurück ResultSet
def create(user: User): Future[UUID] = {
insert
.value(_.id, user.id)
.value(_.email, user.email)
.value(_.name, user.name)
.consistencyLevel_=(ConsistencyLevel.ALL)
.future()
.map(r => fromRow(r.one()).id)
}
def fromRow(r: Row): User = {
User(id(r), email(r), name(r))
}
So Zukunft() liefert Zukunft [ResultSet]. Danach versuche ich, Row aus ResultSet abzurufen, modifiziere es zu User und bekomme schließlich eine ID. Trotz der Tatsache, dass die Daten auf meinem Tisch gespeichert wurden bekam ich
ResultSet [erschöpft: true, Columns []]
Spalten des ResultSet leer sind und folglich r.one() zurückgegeben null. Ich habe keine Beispiele für meinen Zweck gefunden. Kann Phantom-DSL so etwas wie Quill machen?
val q = quote {
query[Product].insert(lift(Product(0L, "My Product", 1011L))).returning(_.id)
}
nur aus Neugier, was hier der Fall Gebrauch ist? – flavian
Ich habe REST API und Post-Anfrage, die Benutzer in Cassandra speichert und ich möchte Antwort mit ID des gespeicherten Benutzers nach dem Einfügen erhalten, zum Beispiel {"code": "201 Created", "ID": "ffffffff"}. – IVa