2
我想更新的卡桑德拉一個字段,用幻影斯卡拉SDK像索引:如何更新索引的字段?
this.update.where(_.id eqs folderId)
.and(_.owner eqs owner)
.modify(_.parent setTo parentId)
父字段是在表中的索引字段。但操作是不允許當編譯代碼,就會有這樣的編譯例外:
[error] C:\User\src\main\scala\com\autodesk\platform\columbus\cassandra\DataItem.scala:161: could not find implicit value for evidence parameter of type com.websudos.phantom.column.ModifiableColumn[T]
錯誤是由更新其索引的字段造成的。
我的解決方法是刪除記錄並插入新記錄以「更新」記錄。
有沒有更好的方法來處理這種情況?
因此,除了刪除和添加,沒有其他方法。由於刪除和添加是兩個操作,有沒有辦法使這兩個操作在原子上執行? – wherby
@wherby不,你仍然需要採用普通的卡桑德拉方式。刪除將導致墓碑等,正常的方式。是的,你可能仍然有殭屍,但理想情況下更新後,你再也不會查詢原始ID。另外,您可以控制一致性來解決這個問題。 – flavian
您可以使用'記錄的批次'爲刪除+插入操作提供某種「輕量級事務」。 – shutty