2012-04-20 66 views
0

我有以下型號:斯卡拉電梯 - MongoDB中的int字段值爲負

class Recording private() extends MongoRecord[Recording] with ObjectIdPk[Recording] { 

    def meta = Recording 

    object time extends IntField(this) 
    object fulltime extends IntField(this) 

} 

當我做到以下幾點:

var time = System.currentTimeMillis()/1000 
var fulltime = System.currentTimeMillis() 

Recording.createRecord. 
time(time.toInt). 
fulltime(fulltime.toInt). 
save 

字段「時間」被正確地存儲爲「1334919100」 ,但「全職」字段保存爲「-815728745」,這是怎麼回事?我需要做些什麼才能接受完整毫秒級的時間戳?

任何幫助非常感謝,謝謝提前:)

回答

0

System.currentTimeMillis返回Long。你很幸運,它在time的情況下。在fulltime您遇到整數溢出。 (這已在toInt調用中發生。)爲兩個對象選擇LongField

+0

嘗試將IntField(this)改爲LongField(this),但仍然得到負值? – jhdevuk 2012-04-20 11:56:04

+0

你還有那裏的toInt嗎? – Debilski 2012-04-20 12:00:55

+0

是的,我應該擺脫? – jhdevuk 2012-04-20 12:02:26