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

मोंगोडब में अल्पविराम से अलग किए गए डेटा को कैसे खोजें

कहेंगे Map-Reduce का उपयोग करें एक अलग संग्रह बनाने के लिए जो genre . को संग्रहीत करता है स्प्लिट कॉमा से अलग स्ट्रिंग से आने वाले मानों के साथ एक सरणी के रूप में, जिसे आप मैप-रिड्यूस जॉब चला सकते हैं और आउटपुट संग्रह पर प्रश्नों को प्रशासित कर सकते हैं।

उदाहरण के लिए, मैंने foo . में कुछ नमूना दस्तावेज़ बनाए हैं संग्रह:

db.foo.insert([
    {genre: 'Action, Adventure, Sci-Fi'},
    {genre: 'Thriller, Romantic'},
    {genre: 'Comedy, Action'}
])

निम्नलिखित मानचित्र/संचालन को कम करने से उस संग्रह का निर्माण होगा जिससे आप निष्पादक प्रश्नों को लागू कर सकते हैं:

map = function() {
    var array = this.genre.split(/\s*,\s*/);
    emit(this._id, array);
}

reduce = function(key, values) {
    return values;
}

result = db.runCommand({
    "mapreduce" : "foo", 
    "map" : map,
    "reduce" : reduce,
    "out" : "foo_result"
});

क्वेरी करना आसान होगा, value . पर एक बहु-कुंजी अनुक्रमणिका के साथ प्रश्नों का लाभ उठाना होगा फ़ील्ड:

db.foo_result.createIndex({"value": 1});

var genre = ['Action', 'Adventure'];
db.foo_result.find({'value': {'$in': genre}})

आउटपुट :

/* 0 */
{
    "_id" : ObjectId("55842af93cab061ff5c618ce"),
    "value" : [ 
        "Action", 
        "Adventure", 
        "Sci-Fi"
    ]
}

/* 1 */
{
    "_id" : ObjectId("55842af93cab061ff5c618d0"),
    "value" : [ 
        "Comedy", 
        "Action"
    ]
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PHP:क्या वस्तुओं को क्रमबद्ध करना और बाद में उन्हें डेटाबेस में चिपकाना खराब डिज़ाइन है?

  2. PHP MongoDB कुल $match और $group और $addToSet

  3. mongodb में स्ट्रिंग को संख्यात्मक मानों में कैसे परिवर्तित करें?

  4. नोड जे एस नेवला आबाद सीमा

  5. पूरे संग्रह से एक दस्तावेज़ खोजें, जिसमें एक विशिष्ट मान कई एम्बेडेड उप दस्तावेज़ों के अंदर निहित हो