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

लारवेल - मोंगोडब [जेनसेगर्स/लारवेल-मोंगोडब] - स्कीमा बिल्डर

मुझे पता है कि यह थोड़ा देर हो चुकी है, लेकिन मैंने सोचा कि मैं यहां थोड़ा सा कोड फेंक दूंगा। मुझे दो कारणों से एक अनुक्रमित मॉडल रखना पसंद है:

  1. मैं इसे एक इंटरफ़ेस की तरह उपयोग कर सकता हूं, यानी मुझे इस जानकारी को दर्ज करने के लिए मजबूर किया जाता है क्योंकि यह मॉडल की आवश्यकता का हिस्सा है। यह सुनिश्चित करता है कि मेरे पास एक साफ डेटासेट है। यह केवल वरीयता है, यह कोई आवश्यकता नहीं है।
  2. अनुक्रमित खोजें उस समय की तुलना में तेज़ होती हैं जब वे अनुक्रमणिका नहीं होती हैं।मैंने यह पता लगाने के लिए पर्याप्त शोध नहीं किया है कि क्या जेनसेगर्स लाइब्रेरी के साथ भी ऐसा है . लेकिन यह मेरे लिए समझ में आता है कि, यदि आप एक संग्रह सेट करने के लिए एक स्कीमा का उपयोग करते हैं और इसे इन क्षेत्रों को अनुक्रमित करने के लिए सेट करते हैं, तो इस संग्रह के भीतर रिकॉर्ड की खोज करते समय यह तेज़ होगा। आप इसे मैन्युअल रूप से Mongo की ओर से भी सेट कर सकते हैं लेकिन मुझे यह पसंद है कि आप इसे इस Eloquent एक्सटेंशन के साथ कर सकते हैं।

तो इसे पढ़ने वाले के लिए, अगर मैंने आपको इस असत्यापित तर्क से आश्वस्त किया है और आप एक स्कीमा सेट करना चाहते हैं, मैंने पाया है कि संग्रह सेट करना आसान है लेकिन इसे छोड़ना आसान नहीं है। यदि आप एक पूर्ण माइग्रेशन करना चाहते हैं (ध्यान रखें कि ऐसा करने पर आप अपना सारा डेटा खो देंगे ) तो आप नीचे दिए गए कोड का उपयोग कर सकते हैं:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateYourCollectionTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::connection('mongodb')->create('collection_name', function ($collection) {
            $collection->index('field_1');
            $collection->index('field_2');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        DB::connection('mongodb')->drop(['collection_name']);
    }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या रेल 3 का उपयोग करके मोंगोडीबी में डिफ़ॉल्ट टाइमज़ोन बदलना संभव है?

  2. MongoDB उत्पादन परिनियोजन के लिए एक सुरक्षा चेकलिस्ट

  3. एक ही मशीन पर चल रहे डॉकर के अंदर से होस्ट में चल रहे मोंगोडीबी में डेटा कैसे लोड करें?

  4. MongoDB नेस्टेड या/और कहाँ?

  5. UNIX मिलीसेकंड समय का उपयोग करके महीने के अनुसार Mongo Group