sql >> Databáze >  >> NoSQL >> MongoDB

Co dělám špatně při manipulaci s daty v Meteor/MongoDB?

Pomocníci šablon jsou reaktivní, což znamená, že se sami aktualizují, když se změní stav aplikace nebo se objeví nová data. Ve vašem případě je pomocník volán ihned po vykreslení šablony a před Meteor.users sbírka je naplněna. Proto .findOne() metoda vrací nedefinováno. Bude opravena ve druhém průchodu poté, co dorazí nová data.

Jednoduchá oprava je zkontrolovat, zda jsou data přítomna uvnitř pomocníka:

myClub: function(){
  var currenUserId = Meteor.userId();
  var user = Meteor.users.findOne({_id: currenUserId});
  if(!user) return 'NO DATA';
  return user.role;
},

V reálném životě budete pravděpodobně chtít počkat, až se načtou základní data, než vykreslíte šablonu. To se obvykle provádí na úrovni ovladače.



  1. Instalace pluginu mongoose friends s MeanJS

  2. aktualizovat více prvků v poli mongodb

  3. Jaké jsou případy použití, kdy je Redis preferován před Aerospike?

  4. Mongodb - odstranit nulová pole rekurzivně?