我正在尝试在服务器端的 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
}