从 Sails 1.0 开始,类型 array 不再受支持。
不再支持“数组”类型。要在模型中使用此类型,请更改
type 为支持的类型之一,并将columnType 属性设置为列
模型适配器支持的类型,例如{ 类型:'json',列类型:'array' }
解决方案一
设置属性来存储图像数组和位置数组...
module.exports = {
attributes : {
images: {
type: 'json',
columnType: 'array'
}
location: {
type: 'json',
columnType: 'array'
}
}
}
解决方案二
更优雅的解决方案是设置一个对象来存储文件名和位置数据
module.exports = {
attributes : {
images: {
type: 'json'
}
}
}
然后在您的控制器中,您可以将对象属性存储为数组...
let imageData = {
filename: ["image1.jpg", "image2.jpg", "image3.jpg"],
location: [154.123123, 155.3434234, 35.12312312]
};
Images.create({images:imageData});
将数据存储到 json 对象时的一些问题是,像“image1.jpg,image2.jpg,image3.jpg”这样的字符串将存储在 MongoDb 中,不用担心...... doh。确保在 POST 时您可能需要拆分数据 .split(',')。