MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

अद्वितीय क्लाइंट-साइड संग्रह के लिए उल्का प्रकाशन / सदस्यता रणनीतियाँ

साझा क्षेत्र में:

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 समान हैं। उल्का नीचे 9 रिकॉर्ड भेजेगा। क्लाइंट पर, आप फिर वही क्वेरी चलाते हैं जो आपने सर्वर पर की थीं और आपको क्रमशः 5 और 6 रिकॉर्ड के साथ समाप्त होना चाहिए।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मौजूदा ग्रिडफ़्स फ़ाइल में डेटा जोड़ें

  2. मोंगोडब कुल में मूल्य स्ट्रिंग करने के लिए $ प्रोजेक्ट ऑब्जेक्ट आईडी कैसे करें?

  3. आराम और मैच के बाद समूह सरणी

  4. MongoDB में एक डेटाबेस बनाएं

  5. Java mongodb ड्राइवर में _id फ़ील्ड का उपयोग करके दस्तावेज़ों को कैसे क्वेरी करें?