在Waterline

时间:2017-11-09 11:37:11

标签: arrays json sails.js waterline

使用最新版本的Waterline 0.13.1-6独立版。

此版本中不再存在array类型。所以我假设存储数组的方法现在使用JSON类型。

我的模型示例Model

  attributes: {
    someArray: { type: 'json' }
  }

问题:在Model的实例上,model.someArray现在是一个字符串。每次我请求获取数组中的值时,我都应JSON.parse。这非常不方便,显然会导致错误。

新的Waterline中是否有内置方法可以使其干净(自动解析JSON字段......)?

1 个答案:

答案 0 :(得分:2)

您可以按照建议使用JSON。无需解析它,这是在您进行元获取或查找时自动完成的。你可以做到

YourModel.create({someArray: [1,2,3]}).meta({fetch: true}).then( out => { console.log(out.someArray[0]); //1; });

我会找到一些其他识别属性,比如说myRef:{type:'string'}

然后你可以做

YourModel.find({myRef: 'something'}).limit(1).then( out => { console.log(out[0].someArray[1]); //2 });