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