Как получить вложенный объект в массиве, используя $ meteor.object?

0

Данные

countries: [
  {
    id: 'qwe123rty456',
    name: 'Australia',
    regions: [
      {
        id: 'poi098uyt765',
        name: 'Western Australia'
      },
      {
        id: '123poi098qwe',
        name: 'Queensland'
      }
    ]
  }
]

Я могу получить конкретную страну со следующим:

$scope.country = $meteor.object(Countries, $stateParams.countryId);

Но как я могу получить конкретный регион? Такие как:

{id: '123poi098qwe', name: 'Queensland'}
Теги:
meteor
iron-router

1 ответ

0

Кажется, что $meteor.object принимает только объекты MongoDB в качестве первого параметра. Вы можете попытаться зациклить свой результат, чтобы найти внутренние области как:

$scope.country = $meteor.object(Countries, $stateParams.countryId);

$scope.objectFindByKey(array, key, value) {
    for (var i = 0; i < array.length; i++) {
        if (array[i][key] === value) {
            return array[i];
        }
    }
    return null;
}

$scope.region = $scope.objectFindByKey($scope.country["regions"], "id", "your_id");

Или попробуйте собрать свою коллекцию MongoDb с использованием основного драйвера Meteor

  • 0
    Нет, я получаю следующую ошибку: «Первый аргумент $ meteorObject должен быть функцией или иметь свойство функции findOne».

Ещё вопросы

Сообщество Overcoder
Наверх
Меню