Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “SailsJS错误”`未定义的“应该是[x](而不是[x],后者是[x])”;_Javascript_Node.js_Mongodb_Sails.js - Fatal编程技术网

Javascript “SailsJS错误”`未定义的“应该是[x](而不是[x],后者是[x])”;

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": {

所以每当我试图通过SailsJS在我的mongodb中保存一个日期时,我都会遇到一个非常令人担忧的错误。我在做一个简单的帖子。我确实理解给定的错误意味着什么,但我只是不明白我做错了什么来得到这个错误

错误:

{
  "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日期字符串。