MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Meteor:Tracker.autorun / observe Промените и колекциите не работят според очакванията

Изглежда, че схванахте проблема, сега нека преминем към някои възможни решения.

Meteor версия 1.1

Ако използвате новия meteor версия 1.1 (можете да проверите дали работи meteor --version )

използвайте това.

Първо на onCreated функция използвайте това.

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

  self.autorun(function () {
    self.subscribe("Progress");
  });
});

Вижте повече за subscriptionReady в DOCS. Сега в HTML използвайте така.

<template name="progress">
  {{#if Template.subscriptionsReady}}
      <div id="progress-bar" style="width:{{curValue}}; background-color:*dynamicColor*;"></div>
    {{else}}
       {{> spinner}} <!-- or whatever you have to put on the loading -->
   {{/if}}
</template>

Метеор под 1.0.4

Можете да имате на рутера нещо като waitOn:function(){}

waitOn:function(){
  Meteor.subscribe("Progress");
}

или тъй като помощниците са асинхронни, направете нещо подобно (не се препоръчва).

Template.progressBar.helpers({
  curValue: function () {
    query = Progress.findOne({user: Meteor.userId()}).curValue;
    if(query != undefined){
      return query;
    }else{
     console.log("collection isn't ready")
    }
  }
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. някакви mongodb ORM позволяват ли ви да създавате псевдоними на полета?

  2. Най-добрият начин за съхраняване на дата/час в mongodb

  3. Вземете брой нива на журнал за всяко име

  4. В MongoShell:Не мога да се свържа с моята колекция, db.collection_name връща NaN

  5. MongoDB findOneAndReplace()