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

मोंगोडब एकत्रीकरण ढांचा - नेस्टेड सरणी के पहले दस्तावेज़ के क्षेत्र को प्राप्त करें

अपना परिणाम प्राप्त करने का सबसे आसान तरीका सामान्य खोज क्वेरी और $slice . का उपयोग करना है ऑपरेटर:

db.collection.find( {_id: "User1"}, {"likes.sublikes": {$slice: 1}} )

एकत्रीकरण ढांचा (जैसा कि MongoDB 2.4.1 में है) $slice . का समर्थन नहीं करता है या सरणी अनुक्रमणिका (वोट/घड़ी सुविधा अनुरोध:SERVER-6074 और SERVER-4589 )।

आप इसे $unwind . का उपयोग करके एकत्रीकरण ढांचे में कर सकते हैं , $group और $first ऑपरेटर, जैसे:

db.collection.aggregate([
    { $match: {
         _id : "User1"
    }},
    { $unwind: "$likes.sublikes" },
    { $group: {
        _id: "$_id",
        like: { $first: "$likes.sublikes" }
    }},
    { $project: {
        _id: 0,
        "UserID": "$_id",
        "WebsiteName": "$like.WebsiteName"
    }}
])

सामान्य $slice सबसे बेहतर विकल्प होना चाहिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एंबेडेड MongoDB के साथ स्प्रिंग बूट एकीकरण परीक्षण

  2. अद्वितीय अनुक्रमणिका Mongoose/MongoDB के साथ काम नहीं कर रही है

  3. MongoDB संग्रह में दिए गए मानदंडों से मेल खाने वाले दस्तावेज़ और एकल उप-दस्तावेज़ कैसे खोजें

  4. मोंगोडीबी $setIsSubset

  5. MongoDB:अनुक्रमणिका n पर 'सत्य' मान के लिए क्वेरी ऐरे