如何使用 Sails.js 和 MongoDB 存储嵌套的 objects 数组?

How to store an array of nested objects using Sails.js with MongoDB?

我正在尝试在 sails.js 模型中保存嵌套的 object。 这是它的样子:

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

为了将值包含在数组中,我正在执行以下操作(在控制器内部):

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 时,风帆断裂并显示 Error: Unknown rule: 0

我搜索了如何在 sails.js 上存储 object 的数组,但没有找到任何有用的方法。

有人能帮忙吗?

谢谢

您在 consumption 中使用的语法错误或至少没有记录。 Waterline 支持模型和消耗模型之间的属性类型 jsonarray as documented but you can't define a schema for them. To define a schema you have to use a One-to-Many relationship