2012-04-20 28 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