sql >> Database >  >> NoSQL >> MongoDB

Aan de slag met Python en MongoDB

ScaleGrid is een MongoDB-hosting- en beheerservice voor openbare en privéclouds. MongoDB (van "humongo us") is een schaalbare, krachtige, open source NoSQL-database van 10gen.

ScaleGrid helpt u bij het inrichten, configureren van hoge beschikbaarheid en herstel na noodgevallen, uitschrijven, bewaken, upgraden, klonen, back-uppen en herstellen van uw implementaties, met ondersteuning van MongoDB op AWS, MongoDB op Azure en MongoDB op Digital Ocean. Een van de voordelen van ScaleGrid is dat het u volledige SSH-toegang geeft tot uw instanties, waardoor u uw Python-server op dezelfde machine kunt uitvoeren als uw MongoDB-server. Dit is uitermate handig voor ontwikkel- en testscenario's. In vijf eenvoudige stappen kunt u aan de slag met uw MongoDB- en Python-code.

  1. Maak uw MongoDB-instantie op ScaleGrid

    Volg deze instructies om aan de slag te gaan om uw machinepool te maken, MongoDB-instanties te maken, SSH-inloggegevens en SSH op te halen in de instantie, of leer hoe u een MongoDB-cluster maakt via onze Help-documentatie.

  2. Maak verbinding met MongoDB en vul uw gegevens in

    SSH in uw MongoDB-instantie. Maak verbinding met uw lokale MongoDB-instantie met behulp van de ingebouwde mongo-client en start enkele zoekopdrachten:

    
    /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
    }
    

    Laten we een dummy-database maken en wat gegevens in een verzameling invoegen. "Collecties" zijn het equivalent van relationele tabellen en kunnen veel "documenten" bevatten, wat het equivalent is van rijen in de relationele wereld:

    >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. Uw Python-server instellen

    Als je al een Python-server op een machine hebt draaien, scheid deze dan van je MongoDB-server. U kunt deze stap dan overslaan en naar stap 4 gaan. Als u geen aparte Python-server heeft, kunt u Python uitvoeren op de MongoDB-machine. Dit is een van de voordelen van volledige SSH-toegang tot uw MongoDB-machines. Op ScaleGrid-machines is standaard Python 2.6.8 geïnstalleerd.

  4. PyMongo installeren

    MongoDB-ondersteuning in Python is via PyMongo. Voer vanaf de Python-opdrachtregel de onderstaande opdracht in:

    >>> import pymongo
    
  5. Python-code uitvoeren

    Haal de MongoDB-verbindingsreeks op uit de ScaleGrid-console op het detailtabblad onder aan het scherm. Als u uw Python-code op dezelfde box uitvoert, kunt u 127.0.0.1 gebruiken.

    Laten we wat Python-code schrijven om de documenten in de collectie die we zojuist hebben gemaakt te doorzoeken. Maak een bestand met de naam test.py en plaats de onderstaande code in het bestand. Voer de code uit met "python test.py".

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

Raadpleeg voor meer gedetailleerde instructies en voorbeelden de 10gen-documentatie over het gebruik van Python met Mongo.


  1. 2 manieren om een ​​index zichtbaar te maken in MongoDB

  2. Deadlock met behulp van Aggregator + Redis

  3. Hoe kan ik meerdere documenten in mangoest bijwerken?

  4. Mongoid:vind via Array of ids