MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Попълнете полето за избор от колекция и филтрирайте според избраната стойност в meteor

Е, за да попълните избраното, трябва да промените {{#each}} надолу към избраното, като това.

<select>
  <option disabled selected>Choose option</option>
{{#each company}}
  <option>{{category}}</option>
{{/each}}
</select>

Защото, ако поставите {{#each}} в горната част на <select> етикет meteor ще създаде 1 избран за всяка компания.

А помощникът на компанията трябва да е прост като обикновен return company.find();

Сега, ако искате да филтрирате, има много опции за постигане на това, една може да е тази.

Обичам да използвам ReactiveDict(); , така че ще използвам в този пример.

Инсталирайте го meteor add reactive-dict

Template.example.onCreated(function(){
 var self = this;

 self.example = new ReactiveDict();

self.example.setDefault( 'valueToFilter' , null);
});

Сега при някакво събитие като change , направете следното.

Template.example.events({
 'change select' : function( event, template ) {

   var instance = Template.instance();

   instance.example.set( 'valueToFilter' event.target.value ); //or use $('select').val()  whatever you like to take the value;
  }
})

Сега покажете резултатите.

Template.example.helpers({

 showSelectedValues : function(){

  var instance = Template.instance();

  return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
 }
})

Това трябва да ви даде голяма картина, успех!




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB не може да анализира заявка (2dsphere):две условия

  2. Mongodb $търсене с вложен документ

  3. Как да групираме и избираме документ, съответстващ на max във всяка група в MongoDB?

  4. автоматично нарастване в node-mongodb-native с помощта на колекция от броячи

  5. Намерете записи на MongoDB, където полето на масива не е празно