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

नेस्टेड क्वेरी का उपयोग करके मोंगो $लुकअप फ़िल्टर

$match अंदर $lookup पाइपलाइन का jobCollection . से कोई संबंध नहीं है दस्तावेज। यह केवल tasks . के लिए दस्तावेज़ों को फ़िल्टर करता है संग्रह। तो, आपको एक और $match का उपयोग करना होगा $lookup . के बाद का चरण ROOT को फ़िल्टर करने के लिए (jobCollection ) दस्तावेज़।

jobCollection.aggregate([
  { "$match": { "$text": { "$search": "1234" }}},
  { "$lookup": {
    "from": "task",
    "let": { "job_id": "$_id" },
    "pipeline": [
      { "$match": {
        "$expr": {
          "$and": [
            { "$eq": ["$job", "$$job_id"] },
            { "$eq": ["$status", "FAILED"] }
          ]
        }
      }}
    ],
    "as": "tasks"
  }},
  { "$match": { "tasks": { "$ne": [] }}},
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Amazon EC2 पर Mongodb तक पहुंच में समस्या

  2. नेवला में स्कीमा पारित किए बिना एक संग्रह क्वेरी करना

  3. यसोड / परसिस्टेंट के लिए MongoDB उदाहरण

  4. मोंगोडब कुल कमांड/पाइपलाइन में किसी प्रकार की पंक्ति संख्या जोड़ें

  5. मोंगोडीबी सेवा फेडोरा में नहीं चल रही है