2016-07-07 4 views
0

Я хотел бы получить элементы из коллекции только в том случае, если элемент в массиве равен текущему месяцу, который я сохранил в сеансе. Например, если моя переменная сеанса равно «Juillet» Я хотел бы иметь только те элементы, которые имеют «Juillet» в «moisrec» метод:Извлечение элементов из коллекций mongodb, если присутствует элемент массива (meteor js)

Legumes = new Mongo.Collection("legumes"); 
 

 
if (Meteor.isServer) { 
 
    Meteor.startup(function() { 
 
     if (Legumes.find().count() === 0) { 
 
      var legumes = [{ 
 
       nom: "poireau", 
 
       moisrec: ["juillet", "août"], 
 
      }, { 
 
       nom: "navet", 
 
       moisrec: ["octobre", "novembre"], 
 
      }, { 
 
       nom: "choux-fleur", 
 
       moisrec: ["juillet", "août"] 
 
      }]; 
 
      // Insert sample data into db. 
 
      legumes.forEach(function(item) { 
 
       Legumes.insert(item); 
 
      }); 
 
     } 
 
    }); 
 
}

У меня есть помощники который выглядит следующим образом:

Template.Legumes.helpers({ 
 
    legumes : function() { 
 
    return Legumes.find({}); 
 
    } 
 
});

Я использую взрывную AF тер шаблонам:

{{#each legumes}} 
 
    <div class="col-sm-3"> 
 
     <div class="thumbnail"> 
 
     <img src="legumes/{{nom}}.jpg" alt="{{nom}}" width="400" height="300"> 
 
     <p><strong>{{nom}}</strong></p> 
 
     <p>Période récolte : {{#each mois in moisrec}}<a>{{mois}} </a>{{/each}}</p> 
 
     <button class="btn" href="/legumes:{{_id}}">Fiche complète</button> 
 
     </div> 
 
    </div> 
 
{{/each}}

Благодаря

Йоанн

ответ

0
Legumes.find({ moisrec: "juillet" }); 

Это должно помочь вам то, что вам нужно. Поскольку это простой массив строк, нет никаких других причудливых звонков, которые вам нужно будет сделать.