sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad gör jag för fel när jag manipulerar data i Meteor/MongoDB?

Mallhjälparna är reaktiva, vilket innebär att de uppdaterar sig själva när appens tillstånd ändras eller ny data dyker upp. I ditt fall anropas hjälparen omedelbart när mallen renderas och före Meteor.users samlingen är fylld. Därför är .findOne() metod returnerar odefinierat. Det kommer att korrigeras i det andra passet efter att nya data har kommit in.

Den enkla fixen här är att kontrollera om data finns inuti hjälparen:

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

I verkligheten vill du antagligen vänta på att grunddatan laddas innan du renderar mallen. Det görs vanligtvis på kontrollnivån.



  1. MongoDB C# Array indexerar eller indexerar inre objekt av arrayer

  2. När du ska använda CouchDB över MongoDB och vice versa

  3. mongodb:hitta sammanfattning av poster

  4. MongoDB körs men kan inte ansluta med skal