Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export class Container{
- data:string="";
- testList:Test[];
- }
- export class Test {
- moredata:string="";
- fileList:File[];
- }
- export class File {...}
- /*************** mongoose schemas **************/
- // item.js
- var mongoose = require('mongoose');
- module.exports = mongoose.model('Item', {
- Content : {type : Object, default: ''}
- });
- // file.js
- var mongoose = require('mongoose');
- var Item = require('./item');
- var schema = new mongoose.Schema({
- Data : {type : String, default: ''},
- ItemList: {type: [Item], default:[]}
- });
- // test.js
- var mongoose = require('mongoose');
- var File = require('./file');
- var schema = new mongoose.Schema({
- Data: {type:String},
- FileList: {type:[File], default:[]}
- });
- // container.js
- var mongoose = require('mongoose');
- var Test = require('./test');
- var schema = new mongoose.Schema({
- Name : {type : String, default: '', index:true, unique:true, required: true, dropDups:true},
- Test : {type:[Test], default:[]}
- });
- /*************** nodejs **************/
- app.post('/api/container', bodyParser.urlencoded({extended:true}), bodyParser({limit:'50mb'}), bodyParser.json(), function(req, res) {
- var test = req.body._test;
- var testList = [];
- var fileList;
- var itemList;
- var itemObj;
- var fileObj;
- var testObj;
- for(var i in test){
- fileList = [];
- for(var j in test[i]._fileList){
- itemList = [];
- for(var k in test[i]._fileList[j]._itemList){
- itemObj = new Item({
- Content : test[i]._fileList[j]._itemList[k]._content
- });
- itemList.push(itemObj);
- console.log('item pushed : ' + itemObj + ' and length : ' + itemList.length);
- // logs gives info OK.
- }
- fileObj = new File({
- Data: locales[i]._fileList[j]._data,
- ItemList: itemList
- });
- fileList.push(fileObj);
- console.log('file pushed : ' + fileObj);
- // logs gives info NOK. The ItemList is empty : [], instead of a 70+ item list.
- }
- testObj = new Test({
- Data: locales[i]._data,
- FileList: fileList
- });
- testList.push(testObj);
- console.log('test pushed : ' + i);
- // once again, logs are NOK : the FileList is empty : []
- }
- // use mongoose to save the project in the database
- new Container({
- Name : req.body._name.toLowerCase().trim(),
- Test: testList
- }).save(function(err, container, count){
- if(err){
- console.log('erreur : ');
- console.log(err);
- // we enter here as we have this error :
- /*
- { [CastError: Cast to undefined failed for value "
- {
- _id: 5727ebf95a76ff0011374928,
- FileList: [],
- Data: 'data'
- },
- {
- _id: 5727ebf95a76ff0011374970,
- FileList: [],
- Data: 'other data'
- }" at path "Test"]
- message: 'Cast to undefined failed for value "
- { _id: 5727ebf95a76ff0011374928,n FileList: [],n Data: 'data' },
- { _id: 5727ebf95a76ff0011374970,n FileList: [],n Data: 'other data'}"
- at path "Test"',
- name: 'CastError',
- type: undefined,
- value: [{"_id":"5727ebf95a76ff0011374928","FileList":[],"Data":"data"},{"_id":"5727ebf95a76ff0
- 011374970","FileList":[],"Data":"other data"}],
- path: 'Test' }
- */
- res.status(403).json({error: 'error'});
- } else {
- console.log('saved ! ');
- res.json(container);
- }
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement