Rumah >Peranti teknologi >industri IT >Menyiapkan persekitaran Pymongo anda
Artikel ini pada asalnya diterbitkan di laman web MongoDB. Terima kasih kepada rakan kongsi kami yang menyokong SitePoint!
Artikel ini akan membimbing pemaju bagaimana mengendalikan pangkalan data MongoDB menggunakan bahasa pengaturcaraan Python. Pymongo adalah perpustakaan pelanggan untuk berinteraksi dengan pelayan MongoDB (yang kami panggil "pemandu" di MongoDB).Pertama sekali, kita perlu memasang toolchain yang digunakan oleh pemaju python MongoDB yang biasa.
mata utama
Cara paling mudah untuk memasang M ialah menggunakan NPM, iaitu Pengurus Pakej Node.js (ternyata lebih daripada sekadar node.js).
<code class="language-bash">$ sudo npm install -g m Password:****** /usr/local/bin/m -> /usr/local/lib/node_modules/m/bin/m + m@1.4.1 updated 1 package in 2.361s $</code>Jika anda tidak boleh atau tidak mahu menggunakan NPM, anda boleh memuat turun dan memasangnya terus dari repositori GitHub. Sila rujuk ReadMe di sana untuk maklumat lanjut.
Hari ini kita akan menggunakan M untuk memasang versi pengeluaran yang stabil (4.0.2 pada masa penulisan).
Kami menjalankan perintah stabil untuk mencapai matlamat ini.
<code class="language-bash">$ m stable MongoDB version 4.0.2 is not installed. Installation may take a while. Would you like to proceed? [y/n] y ... installing binary ######################################################################## 100.0% /Users/jdrumgoole ... removing source ... installation complete $</code>Jika anda perlu menggunakan laluan secara langsung dalam program lain, anda boleh menggunakan
untuk mendapatkannya. m bin
<code class="language-bash">$ m bin 4.0.0 /usr/local/m/versions/4.0.1/bin $</code>Untuk menjalankan fail binari yang sepadan, gunakan
: m use stable
<code class="language-bash">$ m use stable 2018-08-28T11:41:48.157+0100 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' 2018-08-28T11:41:48.171+0100 I CONTROL [initandlisten] MongoDB starting : pid=38524 port=27017 dbpath=/data/db 64-bit host=JD10Gen.local 2018-08-28T11:41:48.171+0100 I CONTROL [initandlisten] db version v4.0.2 2018-08-28T11:41:48.171+0100 I CONTROL [initandlisten] git version: fc1573ba18aee42f97a3bb13b67af7d837826b47 ... 2018-06-13T15:52:43.648+0100 I NETWORK [initandlisten] waiting for connections on port 27017 </code>Sekarang kita mempunyai pelayan yang sedang berjalan, kita dapat mengesahkan bahawa ia berfungsi dengan betul melalui sambungan shell Mongo.
<code class="language-bash">$ mongo MongoDB shell version v4.0.0 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 4.0.0 Server has startup warnings: 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost. 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server. 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** Start the server with --bind_ip to specify which IP 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning. 2018-07-06T10:56:50.973+0100 I CONTROL [initandlisten] --- Enable MongoDB's free cloud-based monitoring service to collect and display metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL created for you. Anyone you share the URL with will also be able to view this page. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring() --- > </code>Amaran ini adalah standard. Mereka menunjukkan bahawa secara lalai pangkalan data ini tidak mempunyai set kawalan akses dan ia hanya mendengar sambungan dari mesin yang sedang berjalan (
Memasang Pemandu Pymongo
tetapi siri ini bukan mengenai shell Mongodb (yang menggunakan JavaScript sebagai bahasa utamanya), tetapi mengenai Python. Bagaimana kita menyambung ke pangkalan data menggunakan python?Untuk python, ini bermakna menggunakan PIP untuk memasang pemandu. Dalam node.js, pemandu dipasang menggunakan NPM, dan Maven boleh digunakan di Java.
<code class="language-bash">$ sudo npm install -g m Password:****** /usr/local/bin/m -> /usr/local/lib/node_modules/m/bin/m + m@1.4.1 updated 1 package in 2.361s $</code>
Kami mengesyorkan agar anda menggunakan persekitaran maya untuk mengasingkan kod Pymongo anda. Ini tidak diperlukan, tetapi sangat mudah untuk mengasingkan aliran pembangunan yang berbeza.
sekarang kita boleh menyambung ke pangkalan data:
<code class="language-bash">$ m stable MongoDB version 4.0.2 is not installed. Installation may take a while. Would you like to proceed? [y/n] y ... installing binary ######################################################################## 100.0% /Users/jdrumgoole ... removing source ... installation complete $</code>
Pertama, kami mengimport perpustakaan Pymongo (1) . Kemudian, kami membuat objek klien tempatan (2) yang menjimatkan kolam sambungan dan negeri -negeri lain pelayan ini. Kami biasanya tidak mahu pelbagai objek mongoclient setiap program kerana ia menyediakan kolam sambungan sendiri.
Sekarang kita boleh mengeluarkan arahan ke pelayan. Dalam kes ini, ia adalah perintah maklumat pelayan MongoDB standard, agak ketinggalan zaman dipanggil Ismaster (3) . Ini ditinggalkan dari versi terdahulu MongoDB. Ia muncul dalam versi MongoDB sebelum 1.0 (ia telah wujud selama lebih dari satu dekad sekarang). Perintah Ismaster mengembalikan kamus yang memperincikan banyak maklumat pelayan. Untuk memformatnya dengan cara yang lebih mudah dibaca, kami mengimport perpustakaan PPRINT.
Kami telah memasang MongoDB, memasang Python Client Library (AKA Driver), memulakan pelayan Mongod, dan menubuhkan sambungan antara klien dan pelayan.
Minggu depan kami akan memperkenalkan operasi CRUD di MongoDB, bermula dengan penciptaan.
Untuk maklum balas langsung, sila tanya soalan anda di Twitter/Jdrumgoole. Dengan cara ini semua orang dapat melihat jawapannya.
Cara terbaik untuk mencuba MongoDB adalah melalui MongoDB Atlas, yang merupakan pangkalan data yang diuruskan sepenuhnya-sebagai-perkhidmatan yang kami tawarkan pada AWS, Google Cloud Platform (CGP), dan Azure.
(bahagian Soalan Lazim ditinggalkan kerana ia tidak berkaitan dengan kandungan artikel utama dan akan meningkatkan panjang output. Ia juga merupakan satu set standard arahan yang mudah dijumpai di tempat lain.)
Atas ialah kandungan terperinci Menyiapkan persekitaran Pymongo anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!