我是Slick和scala的新手,我有以下问题。 我想找到基于相同时间戳的数据库中是否有记录。我的表有(id,时间戳,步骤,位置,方向)
1.measurements.filter(_。timestamp === operated_item.timestamp)//其中测量是我的TableQuery
如果记录不存在,我想根据光头文档制作一个创作
如果记录存在,则:
一个。如果步骤已经存在,我想更新位置和方向
湾如果步骤不存在,那么我想更新步骤。
我怎样才能做这些步骤,现在我有类似的东西:
def operation(user_id: Long, operated_item: measure) = {
val measurementsOperations = new MeasurementsOperations(db)
val q = for {
c <- measurements.filter(_.timestamp===operated_item.timestamp).filter(_.steps =!= operated_item.timestamp)
} yield (c.steps)
val act = q.update(operated_item.steps)
db.run(act)
}
我想我必须做这样的事情:Filtering and mixing monads in Slick for comprehension and Cats
但我不知道如何创建所有巢穴。