Как можно перебирать встроенные документы в Meteor?

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

У меня есть коллекция задач в серверной части MongoDB, которая содержит что-то вроде этого:

{
    "name": Something",
    "Address": {
        "Building": A,
        "Street": B,
        "Locality": C
        }
}

Моя HTML-страница, содержащая шаблон, выглядит так:

{{#each tasks}}

        {{> task}}

  {{/each}}

<template name="task">

  <li>{{Name}}</li>
<li>{{Address}}</li>
</task>

Проблема, с которой я сталкиваюсь, заключается в том, что имя отображается нормально. Однако адрес выглядит как [object Object]. Я уверен, что я испортил способ перебора поля адреса. Может ли кто-нибудь помочь мне с этим?


person blueren    schedule 25.04.2016    source источник
comment
Ниже ответ (address.whatever) правильный. Также обратите внимание, что вы закрыли свой шаблон ‹template name=task› с помощью ‹/task›, когда он должен был быть закрыт с помощью ‹/template›   -  person Adam Moisa    schedule 26.04.2016


Ответы (1)


Для доступа используется запись через точку или квадратные скобки. поля во встроенном документе:

Обозначение через точку:

<template name="task">
    <li>{{Name}}</li>
    <li>Address
        <ul>
            <li>Building - {{Address.Building}}</li>
            <li>Street - {{Address.Street}}</li>
            <li>Locality - {{Address.Locality}}</li>
        </ul>
    </li>   
</template>

Квадратные скобки:

<template name="task">
    <li>{{Name}}</li>
    <li>Address
        <ul>
            <li>Building - {{Address["Building"]}}</li>
            <li>Street - {{Address["Street"]}}</li>
            <li>Locality - {{Address["Locality"]}}</li>
        </ul>
    </li>   
</template>
person chridam    schedule 25.04.2016
comment
Спасибо Кридам! Похоже, у меня также были некоторые ошибки при сохранении в БД. У меня это работает сейчас, после переделки с самого начала. - person blueren; 26.04.2016