2015-04-03 6 views
2

Привет Я новый пчела парусов и пытается получить API модели, которая, наконец, дает выход следующимКак использовать массив атрибутов в sails.js модели

[ 
 
    { 
 
    "icon" : [ 
 
     {"name":"ico1", "ico_typ":"fb", "ico_content_URL":"someLocation"}, 
 
     {"name":"ico2", "ico_typ":"tw", "ico_content_URL":"someLocation"}, 
 
     {...} 
 
     ] 
 
     "createdAt": 
 
     "updatedAt": 
 
     
 
    } 
 
]

Я думал, может достичь этого, передав атрибут значка как массив, но проблема в том, что он передает весь массив как строку, когда я загружаю его в REST CLIENT, также я не мог использовать проверку для значений внутри массива, как без ico_type и URL, данные не должны быть загружается в базу данных. Итак, любое предложение об использовании «массива», где я ошибаюсь, очень ценится, спасибо огромное! Sails_v0.11.0 MongoDB_3.0.1

+0

Что вы используете для отправки ответа? res.ok ({})? –

+0

no Я создал иконок и определил там атрибут {icon: {type: array, required: true}} –

ответ

1

В модели определяет метод

toJSON: function() { 
    var obj = this.toObject(); 
    //say your obj.icon returns something like `'[{"name":"ico1","ico_typ":"fb","ico_content_URL":"someLocation"},{"name":"ico2","ico_typ":"tw","ico_content_URL":"someLocation"}]'` 
    obj.icon = JSON.parse(obj.icon) 
    return obj; 
}, 
+0

Да Это прекрасно работает, но мне также нужно проверить содержимое внутри массива, как массив должен быть создан, только если он имеет действительный URL –

+0

Thats Еще один вопрос, вы можете добавить что-то вроде 'beforeCreate: функция (значения, рядом) { .... }' И вы можете принять ответ, так что другие могут быть использованы :) – Muntasim

1

Я думаю, что модель ватерлиния дала вам уже формат JSON, все, что вам нужно сделать, это использовать правильный путь ответьте.

res.json(model); 
+0

Я получаю результат, который мне нужен Json, но цель - использовать валинные валидации внутри объекта json. любые предложения к этому? –