2016-04-14 14 views
0

私はsails.jsモデルの中に入れ子になったオブジェクトを保存しようとしています。 これは、それがどのように見えるかです:、MongoDBでSails.jsを使って入れ子になったオブジェクトの配列を格納する方法は?

if(!plug.consumption) 
    plug.consumption = []; 

plug.consumption.push({ 
    timestamp: req.param('timestamp'), /* Format: '2016-04-14T16:18:24.972Z' */ 
    value: req.param('value'), /* Format: '6.5' */ 
}); 

plug.save(function (err){ 
    if(err){ 
     res.send("Error"); 
     return next(err); 
    } 
}); 

しかしplug.saveが実行された場合:私は(コントローラ内の)次のことをやって、配列内の値を含めるには

module.exports = { 
    schema: true, 
    attributes: { 
     label: { 
      type: 'string', 
      required: true, 
     }, 
     consumption: [{ 
     timestamp: { 
      type: 'string', 
      required: true, 
     }, 
     value: { 
      type: 'float', 
      required: true, 
     }, 
     }], 
    } 
}; 

Error: Unknown rule: 0

私はsails.jsにオブジェクトの配列を格納する方法を検索しましたが、動作するものは何も見つかりませんでした。

誰でも手助けできますか?

おかげ

consumptionで使用
+0

モデルの 'consum'属性で使用されている構文がウォーターラインでサポートされているとは思われません。それは1対多の関係を持つ別個のモデルのように見えます。 – jelhan

+0

ハム...本当ですか? –

答えて

0

あなたの構文が間違っているか、少なくとも記載されていません。ウォーターラインはアトリビュートタイプjsonarrayas documentedをサポートしますが、スキーマを定義することはできません。スキーマを定義するには、モデルと消費モデルの間にOne-to-Many relationshipを使用する必要があります。

関連する問題