MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

उल्का/मोंगो के माध्यम से उप-दस्तावेज़ सरणी लौटाना

आपकी एकमात्र समस्या प्रत्येक ब्लॉक के भीतर एक कर्सर और एक उप सरणी को पुन:सक्रिय करने का प्रयास कर रही है। अगर आप अपने items . को अलग करते हैं टेम्पलेट और एक व्यक्तिगत items टेम्पलेट, आप अपने वांछित परिणाम के साथ समाप्त होंगे।

सरलीकरण के लिए, मैंने आपके कोड को इस तरह दिखने के लिए बदल दिया है:

यह आपका मुख्य शरीर है:

<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>

और यह आपका सहायक है:

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

मान लें कि कोई आइटम दस्तावेज़ ऐसा दिखता है:

{ 
  itemText: String,
  itemTags: Array
}

मैंने आपके साथ खेलने के लिए Meteorpad पर एक ऐप बनाया है:

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

आप वहां कोड को और बदल सकते हैं और रीयलटाइम में बदलाव देख सकते हैं। यह मूल रूप से उल्का के लिए jsfiddle है।

संपादित करें: @ चिप-कैसल की टिप्पणी से प्रेरित होकर, आप वास्तव में नेस्टेड each के साथ एकल टेम्पलेट का उपयोग कर सकते हैं ब्लॉक:

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

लेकिन जहां आवश्यक हो वहां अलग-अलग टेम्प्लेट का उपयोग डिज़ाइन और हैंडलिंग ईवेंट दोनों में अधिक लचीला होता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb गो में लेन-देन नहीं कर सकता है और हमेशा बहु-दस्तावेज़ लेनदेन में नाम स्थान नहीं बना सकता है

  2. विकल्प उपयोग FindAndModify समर्थित नहीं है

  3. mongodb $ मौजूद है जो हमेशा 0 लौटाता है

  4. पायथन में वस्तुओं की सरणी में शामिल हों और प्रारूपित करें

  5. मोंगोडब से जेड में डेटा प्रदर्शित करने की कोशिश कर रहा है