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

Стратегии за публикуване/абониране на Meteor за уникални колекции от страна на клиента

В споделена зона:

function getSearchUsers(query) {
  var re = new RegExp(query, "i");
  return Users.find({name: {$regex: re}});
}

function getFriendUsers() {
  return Users.find({friend: true});    // or however you want this to work
}

На сървъра:

Meteor.publish("searchUsers", getSearchUsers);
Meteor.publish("friendUsers", getFriendUsers);

На клиента:

Template.search.onCreated(function () {
   var self = this;
   self.autorun(function () {
     self.subscribe("searchUsers", Session.get("searchQuery"));
   });
});

Template.friends.onCreated(function () {
  this.subscribe("friendUsers");
});

Template.search.helpers({
  searchResults: function () {
    return getSearchUsers(Session.get("searchQuery"));
  }
});

Template.friends.helpers({
  results: function () {
    return getFriendUsers();
  }
});

Ключовият извод от това е, че това, което се случва зад кулисите, когато данните се прехвърлят по кабела, не е очевидно. Метеорът изглежда комбинира записите, които са били съпоставени в различните заявки на сървъра и да ги изпратите на клиента. След това клиентът трябва да изпълни отново същата заявка, за да ги раздели.

Например, да речем, че имате 20 записа в колекция от страна на сървъра. След това имате две публикации:първото съвпада с 5 записа, второто съвпада с 6, от които 2 са еднакви. Meteor ще изпрати 9 записа. След това на клиента изпълнявате точно същите заявки, които сте изпълнили на сървъра, и трябва да получите съответно 5 и 6 записа.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Грешка при свързване с Mongodb вътре в контейнера за докер

  2. node.js mongodb изберете документ по _id node-mongodb-native

  3. Агрегирана заявка на MongoDB, използваща драйвер за PHP

  4. MongoDB Java Inserting Throws org.bson.codecs.configuration.CodecConfigurationException:Не мога да намеря кодек за клас io.github.ilkgunel.mongodb.Pojo

  5. MongoDB $dateFromString