我想在我的模型中有数组或集合,这是否可能与水线(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@
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@
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@
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" }] }