sails.js – 可以在Sailsjs中构建更复杂的模型

前端之家收集整理的这篇文章主要介绍了sails.js – 可以在Sailsjs中构建更复杂的模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的模型中有数组或集合,这是否可能与水线(mongoDB)?有什么选择吗?

例:@H_403_3@

{
   name: Bundle,col1 : {
      name : anOtherModel,subCol: {
         text: aString,...
      }
   },col2 : {
      name : anOtherModel,...
      }
   }
}

至:@H_403_3@

module.exports = {

    attributes : {

        name : {
            type : 'STRING',required : true
        },basicModules: {
            type : 'ARRAY',// or 'COLLECTION'
            required : false
        }
    }

};

解决方法

我不知道这是否仍然是一个问题,但诀窍不是POST作为“form-data”,也不是“x-www-url编码”.你必须POST“原始”内容

假设情况:
http://www.example.com/mymodel@H_403_3@

形式数据@H_403_3@

您的标题可能如下所示:@H_403_3@

POST /mymodel/create HTTP/1.1
Host: www.example.com
Cache-Control: no-cache

----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="basicModules"

[1,2,3,4]
----WebKitFormBoundaryE19zNvXGzXaLvS5C

结果是字符串“[1,4]”得到(type-)验证,失败@H_403_3@

的X WWW URL编码的@H_403_3@

在这种情况下,标题是这样的:@H_403_3@

POST /mymodel/create HTTP/1.1
Host: www.example.com
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

basicModules=%5B1%2C2%2C3%2C4%5D

这与表单数据具有完全相同的结果.由于basicModules是字符串“[1,4]”,验证失败@H_403_3@

生的@H_403_3@

为了使其工作,您的标题必须如下所示:@H_403_3@

POST /mymodel/create HTTP/1.1
Host: www.example.com
Cache-Control: no-cache

{"basicModules":[1,4]}

这将导致您刚才的想法,并输入验证工作.@H_403_3@

所以最后,您可以填写JSON中最复杂的模型.例如@H_403_3@

POST /mymodel/create HTTP/1.1
Host: www.example.com
Cache-Control: no-cache

{"user": {
         "name": {
           "first":"John","last":"Doe"
         },"age":25,"pets":[{
           "name":"Garfield","type":"cat"
         },{
           "name":"Rudolph","type":"reindeer"
         }]
       }

猜你在找的JavaScript相关文章