我正在使用SimpleSchema和Meteor来构建数据库条目。
问题是,我有一组对象数组(这些数据显示在HTML表格中),需要更新单个单元格。
我的架构看起来像:(Coffeescript)
drags:
type: [[Object]]
label: "The correct assignment of drop values"
optional: true
blackbox: true
"drags.$":
type: [Object]
label: "Row of the Table"
blackbox: true
"drags.$.$":
type: Object
label: "Cell of the Table"
"drags.$.$._id":
type: String
label: "Unique Id of Draggable"
optional: true
"drags.$.$.text":
type: String
label: "Text of Draggable"
optional: true
"drags.$.$.fixed":
type: Boolean
label: "Is this Draggable Fixed to the correct spot"
optional: true
"drags.$.$.color":
type: String
label: "Color of Draggable"
optional: true
我的数据库调用更新特定单元格是:
db.update({_id:"some-id"},{$set: {"drags.1.2.fixed":true}})
此调用会抛出此错误:
Error: When the modifier option is true, validation object must have at least one operator
答案 0 :(得分:3)
使用简单模式来分别为每个层定义模式并将它们嵌套它们几乎总是更容易。在你的情况下:
drags:
type: [row]
label: "The correct assignment of drop values"
optional: true
blackbox: true
row:
type: [cell]
然后定义您的单元格属性。通常,如果将对象定义为blackbox
,那么定义其各自的属性就没有意义。你在单元级别有一个必填字段但超过你说它的黑盒子。