我有这样的模型 -
{
"name": "MakeCallTestConfiguration",
"base": "PersistedModel",
"idInjection": true,
"properties": {
"id": {
"type": "number",
"id": true,
"generated": true
},
"destination": {
"type": "string",
"required": true
},
"clientId": {
"type": "number",
"required": true
},
"logTime":{
"type" : "date",
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": []
}
对于" logTime",如何自动生成时间戳?我的意思是
" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"
答案 0 :(得分:12)
您可以使用“$ now”属性
"logTime":{
"type": "date",
"required": true,
"default": "$now"
}
答案 1 :(得分:4)
更新您的模型JSON文件并将logTime字段更改为此
"logTime": {
"type": "date",
"dataType": "timestamp",
"defaultFn": "now"
}
那样做。
答案 2 :(得分:1)
使用模型钩子(即beforeCreate)并在那里设置日期。这是一个使用远程钩子的例子(因为我没有使用模型钩子的例子) - https://github.com/strongloop/loopback-getting-started-intermediate/blob/master/common/models/review.js#L4
有关详细信息,请参阅模型挂钩文档:http://docs.strongloop.com/display/LB/Model+hooks
答案 3 :(得分:0)
Loopback有一些简洁的默认功能,可以满足您的需求。在Model.json
文件中,您可以实现它。您的一个"模型的属性"是 defaultFn ,您可以使用" now"进行设置。属性来解决您的问题(请参阅代码示例)。
如文档中所述:
"现在":使用新Date()返回的当前日期和时间
其他很酷且有用的默认函数用于在模型定义文件上设置 guids 和 uuids 。
...
"properties": {
...
"logTime":{
"type" : "date",
"defaultFn": "now"
}
},
...
使用此设置,logTime的默认值将始终根据需要设置为当前时间戳。
Loopback文档有时候很糟糕,但是真正付出了阅读主要部分并进一步调查它们在github上提供的许多示例。目前,如果您想了解有关defaultFn
功能的更多信息,请使用以下网址:
http://loopback.io/doc/en/lb2/Model-definition-JSON-file.html#general-property-properties
答案 4 :(得分:0)
如果您查看Loopback Documentation,您将看到是否指定了创建Javascript日期对象的日期,无论如何。因此,如果您需要Unix TimeStamp,您可以在模型上创建类型数字(或甚至是String),然后如果使用 new Date()创建,它将另存为时间戳。这是一个例子:
你的模特:
"logTime":{
"type" : "number"
}
你的逻辑:
yourModel.logTime = new Date();
你的结果:
{
.
"logTime": 1480437102036
.
}