Слияние хешей внутри массива - PullRequest
0 голосов
/ 16 февраля 2012

Uing Ruby (1.8.7) и драйвер Mongo, я написал это:

@data['Users'] = []
@database['user_facilities'].find({ :facility_id => @facility['id'] }).each do |user_facility|
  @data['Users'] << @database['users'].find({ :id => user_facility['user_id'] }).to_a
end

Какие выходы:

[ "Users", [ [ { "name" => "michael" }, { "name" => "dennis" } ], [ { "name" => "brandon" }, { "name" => "steve" } ] ] ]

Но я бы хотел, чтобы это выглядело так:

[ "Users", [ { "name" => "michael" }, { "name" => "dennis" }, { "name" => "brandon" }, { "name" => "steve" } ] ]

Я понимаю, почему я получаю результаты, которые я делаю выше. Я пробовал "сгладить" и "слить". Но, кажется, ничто не возвращает данные так, как я хочу.

1 Ответ

1 голос
/ 16 февраля 2012
@database['user_facilities'].find({ :facility_id => @facility['id'] }).each do |user_facility|
  @data['Users'].push *@database['users'].find({ :id => user_facility['user_id'] }).to_a
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...