Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या काउचडब लूप कर सकता है

मुझे लगता है कि मैं समझता हूं कि आप क्या पूछ रहे हैं। मानचित्र/घटाने के साथ उत्तर बहुत सीधा है।

मान लें कि आपके पास निम्नलिखित लोगों के दस्तावेज़ हैं:

{
   "name": "Person A",
   "interests" [ "computers", "fishing", "sports" ]
}
{
   "name": "Person B",
   "interests" [ "computers", "gaming" ]
}
{
   "name": "Person C",
   "interests" [ "hiking", "sports" ]
}
{
   "name": "Person D",
   "interests" [ "gaming" ]
}

आप शायद अपनी कुंजी को उस व्यक्ति के नाम (या _id के रूप में मान के साथ, रुचि के रूप में छोड़ना चाहेंगे। )।

function (doc) {
   for (var x = 0, len = doc.interests.length; x < len; x++) {
      emit(doc.interests[x], doc..name);
   }
}

आपके देखे जाने के परिणाम कुछ इस तरह दिखाई देंगे:

  • कंप्यूटर => व्यक्ति ए
  • कंप्यूटर => व्यक्ति बी
  • मछली पकड़ना => व्यक्ति ए
  • गेमिंग => व्यक्ति बी
  • गेमिंग => व्यक्ति डी
  • लंबी पैदल यात्रा => व्यक्ति सी
  • खेल => व्यक्ति ए
  • खेल => व्यक्ति सी

रुचि के रूप में कंप्यूटर वाले लोगों की सूची प्राप्त करने के लिए, आप बस key="computers" . भेज सकते हैं क्वेरी स्ट्रिंग के भाग के रूप में।

यदि आप अपने मानचित्र में एक कम करें फ़ंक्शन जोड़ना चाहते हैं, तो आप बस _count . का उपयोग कर सकते हैं (संकलित कम करें फ़ंक्शन का उपयोग करने के लिए शॉर्टकट) और आप किसी विशेष रुचि वाले सभी लोगों की गिनती पुनर्प्राप्त कर सकते हैं, आप इसका उपयोग अपने संबंधों को बनाने के लिए अपनी रुचियों को सीमित करने के लिए भी कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जावास्क्रिप्ट को डेट ऑब्जेक्ट में mysql डेट फॉर्मेट में बदलें (YYYY-MM-DD)

  2. MySQL पर NoSQL डेटाबेस का उपयोग करना

  3. MySQL पर Oracle कब चुनें?

  4. ट्रिगर का उपयोग करके SQL में वृद्धि कैसे करें?

  5. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:संचार लिंक विफलता