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

MongoDB में नेस्टेड $ लुकअप खोज कैसे करें?

$lookup 3.6 सिंटैक्स आपको नेस्टेड तालिकाओं में शामिल होने देता है और $unwind प्रत्येक तत्व के लिए एक दस्तावेज़ को आउटपुट करने के लिए इनपुट दस्तावेज़ों से एक सरणी फ़ील्ड को डीकंस्ट्रक्ट करने के लिए। कुछ इस तरह

position.aggregate([
  { "$lookup": {
    "from": "companies",
    "let": { "companyId": "$company_id" },
    "pipeline": [
      { "$match": { "$expr": { "$eq": [ "$_id", "$$companyId" ] } } },
      { "$lookup": {
        "from": "industries",
        "let": { "industry_id": "$industry_id" },
        "pipeline": [
          { "$match": { "$expr": { "$eq": [ "$_id", "$$industry_id" ] } } }
        ],
        "as": "industry"
      }},
      { "$unwind": "$industry" }
    ],
    "as": "company"
  }},
  { "$unwind": "$company" }
])

3.4 संस्करण के साथ

position.aggregate([
  { "$lookup": {
    "from": "companies",
    "localField": "company_id",
    "foreignField": "_id",
    "as": "companies"
  }},
  { "$unwind": "$companies" },
  { "$lookup": {
    "from": "industries",
    "localField": "companies.industry_id",
    "foreignField": "_id",
    "as": "companies.industry"
  }},
  { "$unwind": "$companies.industry" },
  { "$group": {
    "_id": "$_id",
    "companies": { "$push": "$companies" }
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. विदेशी फ़ील्ड को ऑब्जेक्ट करने के लिए स्ट्रिंग को देखने के लिए वर्कअराउंड की आवश्यकता है

  2. रेडिस के साथ मोंगोडीबी

  3. उच्च उपलब्धता के लिए MongoDB के लिए Percona सर्वर कैसे परिनियोजित करें

  4. MongoDB से विश्वसनीय रूप से पुनः कनेक्ट करें

  5. उल्का, संग्रह को गतिशील रूप से परिभाषित करें