MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Co robię źle podczas manipulowania danymi w Meteor/MongoDB?

Pomocnicy szablonów są reaktywni, co oznacza, że ​​aktualizują się wraz ze zmianą stanu aplikacji lub pojawieniem się nowych danych. W twoim przypadku helper jest wywoływany natychmiast po wyrenderowaniu szablonu i przed Meteor.users kolekcja jest wypełniona. Dlatego .findOne() metoda zwraca niezdefiniowane. Zostanie to poprawione w drugim przebiegu po nadejściu nowych danych.

Prostą poprawką jest sprawdzenie, czy dane znajdują się wewnątrz helpera:

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

W prawdziwym życiu prawdopodobnie będziesz chciał poczekać na załadowanie podstawowych danych, zanim wyrenderujesz szablon. Zwykle odbywa się to na poziomie kontrolera.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Uwierzytelnianie MongoDB Atlas nie powiodło się w Pythonie

  2. Problem z aktualizacją wersji dokumentu MongoDB za pomocą JaVers

  3. MongoDB:jak znaleźć dokumenty ignorujące wielkość liter, akcenty i procent jak logikę (%)

  4. Wstaw MongoDBWiele()

  5. Skrobanie i indeksowanie stron internetowych za pomocą Scrapy i MongoDB