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

MongoDb PHP के साथ क्वेरी में शामिल हों

इसके लिए आप एग्रीगेशन पाइपलाइन का इस्तेमाल कर सकते हैं

  1. $lookup का उपयोग करें दो संग्रहों में शामिल होने के लिए,
  2. $unwind $lookup . से परिणामी सरणी मंच
  3. $match रेगेक्स खोज करने के लिए

यदि आपको regex करने की आवश्यकता है title पर खोजें master . का दस्तावेज़ भी, आप उसे अपने $or . में जोड़ सकते हैं $match . की क्वेरी चरण, और यदि आप ऐसा नहीं चाहते हैं, तो $ या क्वेरी से हटाना न भूलें (मैंने इसे जोड़ा है)।

$pipeline = array(
    array(
        '$lookup' => array(
            'from' => 'masters',
            'localField' => '$master_id',
            'foreignField' => '$_id',
            'as' => 'master'
        )
    ),
    array(
        '$unwind' => Array(
            'path' => '$master',
            'preserveNullAndEmptyArrays' => true
         ) 
    ),
    array(
        '$match' => array(
            '$or' => array(
                array(
                    'title' => new \MongoDB\BSON\Regex($queryString),
                ),
                array(
                    'description' => new \MongoDB\BSON\Regex($queryString),
                ),
                array(
                    'master.title' => new \MongoDB\BSON\Regex($queryString),
                ),
            )
        )
    ),
    array(
        '$sort' => array(
            'field_name' => 1
        )
    ),
    array(
        '$limit' => 10
    )
)

$results = $details->aggregate($pipeline);

अब, मेरा PHP इतना अच्छा नहीं है, फिर भी मैं आपके लिए क्वेरी लिखने में कामयाब रहा हूं। कृपया अपनी आवश्यकता के अनुसार कोड बदलें/संशोधित करें।

बात यह है कि मैंने आपको यह विचार दिया कि इसे कैसे प्राप्त किया जाए। आशा है कि यह मदद करता है।

संपादित करें

sort , और limit , $sort का इस्तेमाल करें और $limit पाइपलाइन चरण, मैंने इसे उत्तर में जोड़ा है।

field_name . को बदलना न भूलें वास्तविक फ़ील्ड के साथ आप परिणाम को सॉर्ट करना चाहते हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. डेटा स्रोत खोजने में विफल:com.mongodb.spark.sql.DefaultSource

  2. मोंगोडब:तत्वों को अद्यतन करना?

  3. पार्स सर्वर के साथ मोंगो/बीएसओएन ऑब्जेक्ट आईडी का उपयोग करना

  4. क्या मोंगोस के साथ मोंगोडीबी में एक नया डेटाबेस बनाना संभव है?

  5. हरोकू में तैनात करते समय mongoDB मॉड्यूल नहीं खोजा जा सका