Как создать схему Mongoose из данных JSON? - PullRequest
0 голосов
/ 24 сентября 2019

Я работаю с приложением MEAN и пытаюсь создать схему Mongoose для некоторых данных, хранящихся в локальном хранилище.Очевидно, моя схема не соответствует данным, которые я пытаюсь сохранить.

Это то, что я вижу в локальном хранилище:

   data: [{,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…},…]
     0: {,…}
        eyes: {positions: [[263.5868814280962, 268.6440042097746], [255.58445344221695, 300.34023101713115],…],…}
           left: {patch: {,…}, imagex: 315, imagey: 278, width: 35, height: 12}
              height: 12
              imagex: 315
              imagey: 278
              patch: {,…}
                 data: {0: 164, 1: 126, 2: 131, 3: 255, 4: 161, 5: 125, 6: 129, 7: 255, 8: 161, 9: 124, 10: 128, 11: 255,…}
              width: 35
              positions: [[263.5868814280962, 268.6440042097746], [255.58445344221695, 300.34023101713115],…]
           right: {patch: {,…}, imagex: 402, imagey: 288, width: 32, height: 12}
              height: 12
              imagex: 402
              imagey: 288
              patch: {,…}
                 data: {0: 71, 1: 40, 2: 55, 3: 255, 4: 98, 5: 72, 6: 82, 7: 255, 8: 110, 9: 84, 10: 93, 11: 255, 12: 130,…}
              width: 32
        screenPos: [762, 203]
           0: 762
           1: 203
        type: "click"

И это схема, которую я пытался создатьв Mongoose для него:

Const GazeSchema = new Schema({
  settings: {},
  data: [
      {
          eyes: {
              left: {
                  patch:{
                        data:[
                          Number
                        ],
                        imagex: Number,
                        imagey: Number,
                        width: Number,
                        height: Number
                  }
              },
              positions: 
                        [[Number]]
            ,
              right: {
                  patch: {
                        data:[
                            Number
                        ],
                        imagex: Number,
                        imagey: Number,
                        width: Number,
                        height: Number
                  }
              },
              screenPos: [
                  Number
              ],
              type: String
          }
      }
  ],
}, {
})

И это ошибка, которую я получаю на терминале:

message: 'Cast to String failed for value "{\n  positions: [\n    [ ' +
        '263.5868814280962, 268.6440042097746 ],\n    [ 255.58445344221695, ' +
        //more data
name: 'CastError',
      stringValue: '"{\n  positions: [\n    [ 263.5868814280962, 268.6440042097746 ],\n    [ ' +
        '255.58445344221695, 300.34023101713115 ],\n    [ 255.90076808920506, ' +
        //more data
        '  [ 429.19296801720776, 291.1722870202724 ],\n    [ 409.62695106423104, ' +
        '288.51013960512535 ],\n    [ 409.38578899928757, 296.96728695828676 ],\n ' +
        '   [ 427.2627667880445, 299.29910635071155 ]\n  ],\n  left: {\n    patch: ' +
        '{ data: [Object] },\n    imagex: 315,\n    imagey: 278,\n    width: 35,\n  ' +
        '  height: 12\n  },\n  right: {\n    patch: { data: [Object] },\n    ' +
        'imagex: 402,\n    imagey: 288,\n    width: 32,\n    height: 12\n  }\n}"',
      kind: 'String',
      value: [Object],
      path: 'eyes',
      reason: [MongooseError]
    }
  },
  _message: 'gaze validation failed',
  name: 'ValidationError'
...