0

我正在使用 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
4

1 回答 1

3

使用简单模式几乎总是更容易分别为每一层定义模式并将它们嵌套。在你的情况下:

drags: 
  type: [row]
  label: "The correct assignment of drop values"
  optional: true
  blackbox: true

row:
  type: [cell]

然后定义您的单元格属性。通常,如果您将对象定义为blackbox存在,则定义其各个属性是没有意义的。您在单元格级别有一个必填字段,但在此之上您说它是黑盒。

于 2015-10-15T17:45:42.253 回答