Dieser Artikel wurde ursprünglich auf der MongoDB -Website veröffentlicht. Vielen Dank an unsere Partner, die SitePoint unterstützen!
Dieser Artikel leitet Entwickler, wie man MongoDB -Datenbanken mithilfe der Python -Programmiersprache betreibt. Pymongo ist eine Client -Bibliothek für die Interaktion mit MongoDB -Servern (die wir als "Treiber" in MongoDB bezeichnen).
Zunächst müssen wir die Toolchain, die typische MongoDB -Python -Entwickler verwenden, installieren.
Erstens m. Sofern Ihre Suche "MongoDB M" nicht ist, ist es schwierig, sie online zu finden, ein Tool für parallele Verwaltung und Installationen mit mehreren MongoDB -Servern. Wenn Sie die neuesten und besten Beta -Versionen ausprobieren möchten, aber weiterhin die Hauptentwicklung für die aktuelle stabile Version durchführen möchten, ist dies ein sehr wertvolles Tool.
Der einfachste Weg, M zu installieren, besteht darin, NPM, d. H. Node.js Paket Manager, zu verwenden (es stellt sich heraus, dass es mehr als nur Node.js ist).
$ 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 $
Wenn Sie NPM nicht verwenden können oder nicht möchten, können Sie es direkt im GitHub -Repository herunterladen und installieren. Weitere Informationen finden Sie unter Readme.
Heute werden wir M verwenden, um die aktuell stabile Produktionsversion (4.0,2 zum Zeitpunkt des Schreibens) zu installieren.
Wir führen den stabilen Befehl aus, um dies zu erreichen.
$ 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 $
Wenn Sie den Pfad direkt in einem anderen Programm verwenden müssen, können Sie m bin
verwenden, um ihn zu erhalten.
$ m bin 4.0.0 /usr/local/m/versions/4.0.1/bin $
Verwenden Sie die entsprechende Binärdatei m use stable
:
$ 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
Jetzt haben wir einen laufenden Server, wir können bestätigen, dass er ordnungsgemäß über die Mongo -Shell -Verbindung funktioniert.
$ 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() --- >
Diese Warnungen sind Standard. Sie geben an, dass diese Datenbank standardmäßig keinen Zugriffskontrollsatz enthält und nur für Verbindungen aus dem Maschine hört ( localhost ). Wir werden lernen, wie Sie in zukünftigen Artikeln eine breitere Palette von Ports einrichten und auf eine breitere Palette von Ports hören.
Aber in dieser Serie geht es nicht um MongoDB -Shell (die JavaScript als Hauptsprache verwendet), sondern um Python. Wie stellen wir mit Python eine Verbindung zu einer Datenbank her?
Zunächst müssen wir den MongoDB -Python -Treiber Pymongo installieren. In der MongoDB-Terminologie ist ein Treiber eine sprachspezifische Clientbibliothek, mit der Entwickler mit dem Server interagieren können, indem sie Idiome ihrer eigenen Programmiersprache verwenden.
Für Python bedeutet dies, dass Sie PIP zum Installieren des Treibers verwenden. In Node.js wird der Treiber mit NPM installiert und Maven kann in Java verwendet werden.
$ 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 $
Wir empfehlen Ihnen, eine virtuelle Umgebung zu verwenden, um Ihren Pymongo -Code zu isolieren. Dies ist nicht erforderlich, ist jedoch sehr bequem, um verschiedene Entwicklungsströme zu isolieren.
Jetzt können wir eine Verbindung zur Datenbank herstellen:
$ 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 $
Importieren wir zuerst die Pymongo -Bibliothek (1) . Anschließend erstellen wir ein lokales Client -Objekt (2) , das den Verbindungspool und andere Zustände dieses Servers speichert. Wir möchten normalerweise nicht mehrere Mongoclient -Objekte pro Programm, da es einen eigenen Verbindungspool bietet.
Jetzt können wir Befehle an den Server ausstellen. In diesem Fall handelt es sich um einen Standardbefehl für MongoDB -Serverinformationen, der ziemlich veraltet ismaster (3) bezeichnet wird. Dies bleibt aus früheren Versionen von MongoDB übrig. Es erscheint in MongoDB -Versionen vor 1.0 (es gibt es schon seit mehr als einem Jahrzehnt). Der Befehl Ismaster gibt ein Wörterbuch zurück, das viele Serverinformationen beschreibt. Um es lesbarer zu formatieren, haben wir die PPRINT -Bibliothek importiert.
Wir haben MongoDB installiert, die Python -Client -Bibliothek (AKA -Treiber) installiert, einen Mongod -Server gestartet und eine Verbindung zwischen dem Client und dem Server hergestellt.
Nächste Woche werden wir Crud Operations auf MongoDB einführen, beginnend mit der Erstellung.
Für direktes Feedback stellen Sie bitte Ihre Frage auf Twitter/Jdrumgoole. Auf diese Weise kann jeder die Antwort sehen.
Der beste Weg, MongoDB zu probieren, ist über MongoDB Atlas, ein vollständig verwaltetes Datenbank-as-a-Service, das wir auf AWS, Google Cloud Platform (CGP) und Azure anbieten.
(Der FAQS -Abschnitt wird weggelassen, da er weitgehend nicht mit dem Inhalt des Hauptartikels zu tun hat und die Ausgangslänge erheblich erhöhen würde. Es ist auch ein Standardsatz von Anweisungen, die leicht an anderer Stelle gefunden werden.)
Das obige ist der detaillierte Inhalt vonEinrichten Ihrer Pymongo -Umgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!