0

データベースエントリの構造化に Meteor で SimpleSchema を使用しています。

問題は、オブジェクトの配列の配列があり (これらのデータは 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

simple-schema を使用すると、ほとんどの場合、各層のスキーマを個別に定義してネストする方が簡単です。あなたの場合:

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

row:
  type: [cell]

次に、セルのプロパティを定義します。通常、オブジェクトを として定義する場合blackbox、個々のプロパティを定義しても意味がありません。セル レベルで 1 つの必須フィールドがありますが、その上ではブラックボックスだと言っています。

于 2015-10-15T17:45:42.253 に答える