MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Erste Schritte mit Python und MongoDB

ScaleGrid ist ein Hosting- und Verwaltungsdienst von MongoDB für öffentliche und private Clouds. MongoDB (von „humongo us") ist eine skalierbare, leistungsstarke Open-Source-NoSQL-Datenbank von 10gen.

ScaleGrid hilft Ihnen bei der Bereitstellung, Konfiguration von Hochverfügbarkeit und Notfallwiederherstellung, Aufhebung der Bereitstellung, Überwachung, Upgrade, Klonen, Sicherung und Wiederherstellung Ihrer Bereitstellungen und unterstützt MongoDB auf AWS, MongoDB auf Azure und MongoDB auf DigitalOcean. Einer der Vorteile von ScaleGrid besteht darin, dass Sie vollen SSH-Zugriff auf Ihre Instanzen erhalten, sodass Sie Ihren Python-Server auf demselben Computer wie Ihren MongoDB-Server ausführen können. Dies ist äußerst nützlich für Entwicklungs- und Testszenarien. In fünf einfachen Schritten können Sie mit Ihrem MongoDB- und Python-Code loslegen.

  1. Erstellen Sie Ihre MongoDB-Instanz auf ScaleGrid

    Befolgen Sie diese Anleitungen für die ersten Schritte, um Ihren Maschinenpool zu erstellen, MongoDB-Instanzen zu erstellen, SSH-Anmeldeinformationen und SSH in die Instanz abzurufen oder in unserer Hilfedokumentation zu erfahren, wie Sie einen MongoDB-Cluster erstellen.

  2. Verbinden Sie sich mit MongoDB und füllen Sie Ihre Daten aus

    SSH in Ihre MongoDB-Instanz. Stellen Sie mithilfe des integrierten Mongo-Clients eine Verbindung zu Ihrer lokalen MongoDB-Instanz her und lösen Sie einige Abfragen aus:

    
    /usr/bin/mongo
    MongoDB shell version: 2.0.7
    connecting to: test
    >show dbs
    config  (empty)
    local   (empty)
    >db.version()
    2.0.7
    >db.stats()
    {
    "db" : "test",
    "collections" : 0,
    "objects" : 0,
    "avgObjSize" : 0,
    "dataSize" : 0,
    "storageSize" : 0,
    "numExtents" : 0,
    "indexes" : 0,
    "indexSize" : 0,
    "fileSize" : 0,
    "nsSizeMB" : 0,
    "ok" : 1
    }
    

    Lassen Sie uns eine Dummy-Datenbank erstellen und einige Daten in eine Sammlung einfügen. „Sammlungen“ sind das Äquivalent zu relationalen Tabellen und können viele „Dokumente“ enthalten, was das Äquivalent zu Zeilen in der relationalen Welt ist:

    >use testdb
    switched to db testdb
    >db.testcollection.insert({"name":"blah", "value":"humbug"});
    >db.testcollection.insert({"name":"blah1", "value":"humbug1"});
    >db.find();
    { "_id" : ObjectId("50db292013d7f5d141a9cbfb"), "name" : "blah", "value" : "humbug" }
    { "_id" : ObjectId("50db292913d7f5d141a9cbfc"), "name" : "blah1", "value" : "humbug1" }
    
  3. Richten Sie Ihren Python-Server ein

    Wenn Sie bereits einen Python-Server auf einem Computer ausführen, trennen Sie ihn von Ihrem MongoDB-Server. Sie können diesen Schritt dann überspringen und zu Schritt 4 übergehen. Wenn Sie keinen separaten Python-Server haben, können Sie Python auf dem MongoDB-Computer ausführen. Dies ist einer der Vorteile des vollständigen SSH-Zugriffs auf Ihre MongoDB-Maschinen. ScaleGrid-Maschinen haben standardmäßig Python 2.6.8 installiert.

  4. PyMongo installieren

    Die MongoDB-Unterstützung in Python erfolgt über PyMongo. Geben Sie in der Python-Befehlszeile den folgenden Befehl ein:

    >>> import pymongo
    
  5. Python-Code ausführen

    Rufen Sie die MongoDB-Verbindungszeichenfolge von der ScaleGrid-Konsole auf der Registerkarte "Details" unten auf dem Bildschirm ab. Wenn Sie Ihren Python-Code auf demselben Rechner ausführen, können Sie 127.0.0.1.

    verwenden

    Lassen Sie uns etwas Python-Code schreiben, um die Dokumente in der gerade erstellten Sammlung abzufragen. Erstellen Sie eine Datei namens test.py und fügen Sie den folgenden Code in die Datei ein. Führen Sie den Code mit „python test.py“ aus.

    from pymongo import Connection
    connection = Connection()
    connection = Connection('localhost', 27017)
    db = connection.testdb
    collection = db.testcollection
    for post in collection.find():
            print post
    

Ausführlichere Anweisungen und Beispiele finden Sie in der 10gen-Dokumentation zur Verwendung von Python mit Mongo.