Javascript “SailsJS错误”`未定义的“应该是[x](而不是[x],后者是[x])”;
所以每当我试图通过SailsJS在我的mongodb中保存一个日期时,我都会遇到一个非常令人担忧的错误。我在做一个简单的帖子。我确实理解给定的错误意味着什么,但我只是不明白我做错了什么来得到这个错误 错误:Javascript “SailsJS错误”`未定义的“应该是[x](而不是[x],后者是[x])”;,javascript,node.js,mongodb,sails.js,Javascript,Node.js,Mongodb,Sails.js,所以每当我试图通过SailsJS在我的mongodb中保存一个日期时,我都会遇到一个非常令人担忧的错误。我在做一个简单的帖子。我确实理解给定的错误意味着什么,但我只是不明白我做错了什么来得到这个错误 错误: { "error": "E_VALIDATION", "status": 400, "summary": "2 attributes are invalid", "model": "BuddyAvailability", "invalidAttributes": {
{
"error": "E_VALIDATION",
"status": 400,
"summary": "2 attributes are invalid",
"model": "BuddyAvailability",
"invalidAttributes": {
"start": [
{
"rule": "datetime",
"message": "`undefined` should be a datetime (instead of \"Mon Sep 19 2016 20:00:00 GMT+0000 (UTC)\", which is a object)"
}
],
"end": [
{
"rule": "datetime",
"message": "`undefined` should be a datetime (instead of \"Mon Sep 19 2016 22:00:00 GMT+0000 (UTC)\", which is a object)"
}
]
}
}
我的模块:
module.exports = {
tableName: 'buddyAvailability',
attributes: {
buddy: {
model: 'user'
},
start: {
type: 'datetime'
},
end: {
type: 'datetime'
}
}
};
我发布的数据如下:
{
buddy:"57dfe57839053b3500d1cdec"
end:"2016-09-19 22:00"
start:"2016-09-19 20:00"
}
我试过使用type:date和type:datetime。两个都不适合我。我在使用type:integer和type:float时遇到了同样的问题。我使用type:int和type:decimal解析了这些问题
我不明白为什么它不起作用。我认为您尝试插入的结束和开始是字符串格式。在调用create或update等方法之前,请尝试将其转换为Javascript中的新日期(开始)和新日期(结束),并尝试以这种格式发布2016-09-19T22:00:00Z。我猜sailsjs否认没有时区背景的日期,但我可能错了。好吧,终于有时间来测试你的答案了。但最终它没有起作用。新日期(开始)/新日期(结束)和ISO日期字符串方法都不起作用。这是一个奇怪的问题,因为它以前工作过,sails应该正确地将给定的日期转换为ISO日期字符串。我认为您尝试插入的结束和开始是字符串格式。在调用create或update等方法之前,请尝试将其转换为Javascript中的新日期(开始)和新日期(结束),并尝试以这种格式发布2016-09-19T22:00:00Z。我猜sailsjs否认没有时区背景的日期,但我可能错了。好吧,终于有时间来测试你的答案了。但最终它没有起作用。新日期(开始)/新日期(结束)和ISO日期字符串方法都不起作用。这是一个奇怪的问题,因为它以前工作过,所以sails应该正确地将给定的日期转换为ISO日期字符串。