我能够在添加"日期"之前创建在bootstrap创建虚拟用户对象。属性。在bootstrap.js中我有:
module.exports.bootstrap = function(cb) {
var dummyData = [
{
"firstName":"Jane",
"lastName":"Doe",
"dateofbirth": 1279703658 //timestamp
}
]
User.count().exec(function(err, count){
if(err){
return cb(err);
}
if(count == 0){
User.create(dummyData).exec(function(){
cb();
});
}
});
};
User.js很简单,看起来像这样:
module.exports = {
attributes: {
firstName : {
type : 'string',
required : true
},
lastName : {
type : 'string',
required : true
},
dateofbirth : {
type : 'date'
}
}
};
当我尝试在浏览器中创建相同的对象时(sails漂亮的CRUD功能)我收到有关日期的错误:
{
"error": "E_VALIDATION",
"status": 400,
"summary": "1 attribute is invalid",
"model": "User",
"invalidAttributes": {
"dateofbirth": [
{
"rule": "date",
"message": "`undefined` should be a date (instead of \"123454345\", which is a string)"
}
]
}
}
所以问题是如何用date属性创建这样的对象?
答案 0 :(得分:1)
date
(或同等的dateTime
)接受,例如ISO日期字符串。所以,你的例子看起来像:
var dummyData = [
{
"firstName":"Jane",
"lastName":"Doe",
// "1970-01-15T19:28:23.658Z"
"dateofbirth": new Date(1279703658).toISOString()
}
]