Я пытаюсь создать веб-приложение, которое преобразует эскизы в слайды.Расположение и категория объектов на слайде будет определяться с помощью JSON, как показано ниже:
[
{
"attachment": "https://s3-us-west-2.amazonaws.com/some_picture.jpg",
"response": {
"annotations": [
{
"width": 72,
"height": 20,
"left": 24,
"top": 180,
"label": "text"
},
{
"width": 96,
"height": 19,
"left": 26,
"top": 212,
"label": "picture"
}
]
}
}
]
Я использовал каждый цикл, чтобы пройти через объекты в файле JSON и затем сохранить их в базе данных Neo4j.
def save_detection_to_db(detection_json)
detection_json.each do |single_picture|
annotations = single_picture["response"]["annotations"]
annotations.each do |single_annotation|
label = single_annotation["label"]
determine_node_label(label).create(width: single_annotation["width"],
height: single_annotation["height"],
top: single_annotation["top"],
left: single_annotation["left"],
category: single_annotation["label"])
end
end
end
# determine_node_label("text") #=> Text
# determine_node_label("picture") #=> Picture
Таким образом, я могу хранить около 100 объектов за 0,6 с.Но, учитывая, что это приложение предназначено для использования многими людьми для создания слайдов, оно не справится с этой задачей.Я предполагаю, что каждый цикл не является хорошим способом сделать это.Какие еще методы я должен попробовать?Любое предложение будет оценено.