sql >> Database teknologi >  >> NoSQL >> MongoDB

Udfyld valgfeltet fra samlingen og filtrer i henhold til den valgte værdi i meteor

For at udfylde valget skal du ændre {{#each}} ned til valget, sådan her.

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

Fordi hvis du sætter {{#each}} øverst i <select> tag meteor vil oprette 1 udvalg for hver virksomhed.

Og firmahjælperen skal være enkel som en simpel return company.find();

Hvis du nu vil filtrere, er der mange muligheder for at opnå dette, en kunne være denne.

Jeg kan godt lide at bruge ReactiveDict(); , så jeg vil bruge dette eksempel.

Installer det meteor add reactive-dict

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

 self.example = new ReactiveDict();

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

Nu på en begivenhed som change , gør følgende.

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;
  }
})

Vis nu resultaterne.

Template.example.helpers({

 showSelectedValues : function(){

  var instance = Template.instance();

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

Dette burde give dig et stort billede, held og lykke!




  1. Optimering - find på alle felter i Mongoose MongoDB skema

  2. Hvordan indstilles _id til db-dokument i Mongoose?

  3. Mongodb Atlas:ikke autoriseret på admin til at udføre kommando

  4. MongoDB $ikke Aggregation Pipeline Operator