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

वर्चुअल विशेषता द्वारा Mongoid क्वेरी डीबी

आप इसे mongoDB में एग्रीगेशन फ्रेमवर्क का उपयोग करके कर सकते हैं। (संस्करण 2.2 में नया)।

आपके पास उपयोगकर्ता के समुदायों की सरणी उपलब्ध होनी चाहिए। मैं इसे इस उदाहरण में userComms कहूंगा - मैं उम्मीद कर रहा हूं कि यह उसी प्रकार के मानों के साथ एक सरणी हो जो post.communities हैं।

db.posts.aggregate( [
    {
        "$unwind" : "$communities"
    },
    {
        "$match" : {
            "communities" : {
                "$in" : userComms
            }
        }
    },
    {
        "$group" : {
            "_id" : "$_id",
            "relevance" : {
                "$sum" : 1
            }
        }
    },
    {
        "$sort" : {
            "relevance" : -1
        }
    }
]);

यह प्रपत्र का एक दस्तावेज़ लौटाता है:

{
    "result" : [
        {
            "_id" : 1,
            "relevance" : 4
        },
        {
            "_id" : 6,
            "relevance" : 3
        },
...
        ]
}

परिणाम सरणी में पोस्ट के _ids होते हैं और प्रासंगिक समुदायों की संख्या को जोड़कर गणना की जाती है जो उपयोगकर्ता के साथ समान थे। फिर इसे उस राशि के अनुसार क्रमबद्ध (अवरोही) किया जाता है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:कुंजी में विशेष वर्णों के साथ हैश पर क्वेरी

  2. मोंगोडब कुल $ लुकअप बनाम ढूंढें और पॉप्युलेट करें

  3. शीर्ष मोंगोडीबी संसाधन

  4. MongoDB/DynamoDB में सर्कुलर दस्तावेज़ों को कैसे संभालें?

  5. परमाणु मौजूद नहीं है तो Mongodb .Net ड्राइवर में डालें