MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Trả lại mảng tài liệu phụ thông qua Meteor / Mongo

Vấn đề duy nhất của bạn là cố gắng lặp lại một con trỏ và một mảng con trong cùng một khối. Nếu bạn tách items của mình mẫu và một item riêng lẻ mẫu, bạn sẽ có kết quả mong muốn.

Để đơn giản hóa, tôi đã thay đổi mã của bạn để trông giống như sau:

Đây là nội dung chính của bạn:

<body>
    {{> items}}
</body>

<template name="items">
  {{#each items}}
    {{> item}}
  {{/each}}
</template>

<template name="item">
  <h2>{{itemText}} tags are:</h2>
  <ul>
  {{#each itemTags}}
    <li>{{this}}</li>
  {{/each}}
  </ul>
</template>

Và đây là người trợ giúp của bạn:

Template.items.helpers({
  items: function () {
    return Items.find();
  }
})

Giả sử một tài liệu hạng mục giống như sau:

{ 
  itemText: String,
  itemTags: Array
}

Tôi đã tạo một ứng dụng trên Meteorpad để bạn chơi cùng:

http://meteorpad.com/pad/BmRQ5fkwWEMBKszJW/SO-27951102

bạn có thể thay đổi thêm mã ở đó và xem các thay đổi trong thời gian thực. Về cơ bản, nó là jsfiddle đối với sao băng.

Chỉnh sửa: lấy cảm hứng từ nhận xét của @ chip-Castle, trên thực tế, bạn có thể sử dụng một mẫu duy nhất với each lồng nhau khối:

Các thẻ
<template name="items">
  {{#each items}}
    <h2>{{itemText}} tags are:</h2>
    <ul>
    {{#each itemTags}}
      <li>{{this}}</li>
    {{/each}}
    </ul>
  {{/each}}
</template>

Nhưng việc sử dụng các mẫu riêng biệt sẽ linh hoạt hơn trong cả thiết kế và xử lý các sự kiện khi cần thiết.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Django Authentication Mongodb

  2. Lưu trữ đối tượng Json trong khóa chuỗi Mongoose

  3. MongoDb với FastAPI

  4. Làm thế nào để tạo một bộ sưu tập có giới hạn với Dữ liệu mùa xuân? - MongoDB

  5. Nhóm các tài liệu Mongo theo id và nhận tài liệu mới nhất theo dấu thời gian