0

我正在尝试在服务器端的 Meteor 中$set创建一个多维对象数组(“ log”)。每次我进行操作时,对象都显示为null更新后。我怀疑这可能是我的 SimpleSchema 的问题,但我找不到有关如何正确执行此操作的任何答案。在最坏的情况下,由于它都是由服务器生成的,有什么办法可以在 SimpleSchema 中完全禁用该字段的验证?

示例更新:

{ $set: {
  log: [
    [
      [{
        "event": "ability",
        "sourceId": "Attack",
        "result": true,
        "timestamp": "2015-12-01T09:11:07.465Z",
        "selfId": "p2",
        "targetId": "e1"
      }, {
        "event": "effect",
        "sourceId": "dealBaseDamage",
        "result": 7,
        "timestamp": "2015-12-01T09:11:07.467Z",
        "selfId": "p2",
        "targetId": "e1"
      }],
      []
    ]
  ]
} }

这在操作后在数据库中给出了以下结果:

"log": [
  [
    [
      null,
      null
    ],
    []
  ]
]

我的架构如下:

log: {
  type: Array,
},
'log.$': {
  type: Array,
},
'log.$.$': {
  type: [Object],
  optional: true,
  blackbox: true
}

我也试过这个:

log: {
  type: Array,
},
'log.$': {
  type: Array,
},
'log.$.$': {
  type: Array
},
'log.$.$.$': {
  type: Object,
  optional: true,
  blackbox: true
}
4

0 回答 0