Pymongo: Difference between revisions
From charlesreid1
| Line 66: | Line 66: | ||
collection = db.test_collection | collection = db.test_collection | ||
docs = [{ 'bssid' : 'A', 'channel' : 1, 'ssid' : 'asdf', 'strength' : -20, 'encryption' : | docs = [{ 'bssid' : 'A', 'channel' : 1, 'ssid' : 'asdf', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'B', 'channel' : 2, 'ssid' : 'qwer', 'strength' : -20, 'encryption' : | { 'bssid' : 'B', 'channel' : 2, 'ssid' : 'qwer', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'C', 'channel' : 1, 'ssid' : 'woei', 'strength' : -20, 'encryption' : | { 'bssid' : 'C', 'channel' : 1, 'ssid' : 'woei', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'D', 'channel' : 1, 'ssid' : 'wori', 'strength' : -20, 'encryption' : | { 'bssid' : 'D', 'channel' : 1, 'ssid' : 'wori', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'E', 'channel' : 2, 'ssid' : 'oprr', 'strength' : -20, 'encryption' : | { 'bssid' : 'E', 'channel' : 2, 'ssid' : 'oprr', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'F', 'channel' : 2, 'ssid' : 'fghf', 'strength' : -20, 'encryption' : | { 'bssid' : 'F', 'channel' : 2, 'ssid' : 'fghf', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'G', 'channel' : 3, 'ssid' : 'yruy', 'strength' : -20, 'encryption' : | { 'bssid' : 'G', 'channel' : 3, 'ssid' : 'yruy', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'H', 'channel' : 2, 'ssid' : 'aaaa', 'strength' : -20, 'encryption' : | { 'bssid' : 'H', 'channel' : 2, 'ssid' : 'aaaa', 'strength' : -20, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'I', 'channel' : 4, 'ssid' : 'qaqw', 'strength' : -30, 'encryption' : | { 'bssid' : 'I', 'channel' : 4, 'ssid' : 'qaqw', 'strength' : -30, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'J', 'channel' : 4, 'ssid' : 'sxv3', 'strength' : -30, 'encryption' : | { 'bssid' : 'J', 'channel' : 4, 'ssid' : 'sxv3', 'strength' : -30, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'K', 'channel' : 1, 'ssid' : '8fkk', 'strength' : -30, 'encryption' : | { 'bssid' : 'K', 'channel' : 1, 'ssid' : '8fkk', 'strength' : -30, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'L', 'channel' : 2, 'ssid' : 'plnb', 'strength' : -30, 'encryption' : | { 'bssid' : 'L', 'channel' : 2, 'ssid' : 'plnb', 'strength' : -30, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'M', 'channel' : 4, 'ssid' : 'llzb', 'strength' : -30, 'encryption' : | { 'bssid' : 'M', 'channel' : 4, 'ssid' : 'llzb', 'strength' : -30, 'encryption' : 'WPA' }, | ||
{ 'bssid' : 'N', 'channel' : 3, 'ssid' : 'u2tt', 'strength' : -30, 'encryption' : | { 'bssid' : 'N', 'channel' : 3, 'ssid' : 'u2tt', 'strength' : -30, 'encryption' : 'WPA' }] | ||
result = collection.insert_many(docs) | result = collection.insert_many(docs) | ||
Revision as of 00:41, 1 September 2016
Okay Here We Go
On this page we show how to set up a connection to the MongoDB.
Start mongodb
Fire up mongodb:
$ mongod -f /usr/local/etc/mongodb.conf
Start python
Fire up Python:
>>> from pymongo import MongoClient
>>> client = MongoClient('localhost', 27017)
Now you're connected to the local MongoDB daemon, and you can interact with the database.
Create database and collections
If you have a MongoDB client, you must start by getting a database (create one if it does not exist), in this case one called test_database:
>>> db = client.test_database
Now that you have a database, you can get a collection (create one if it does not exist):
>>> collection = db.test_collection
Inserting data into collections
Finally, once you have a collection you can start to add documents to it:
>>> doc = { 'bssid' : 'aa:bb:cc:dd:ee:ff:00:11', 'channel' : 5, 'ssid' : 'Nacho Wifi', 'strength' : -20, 'encryption' : 'WPA' }
>>>
(SQL analogy: once you have a database, you can start to add tables. Once you have tables, you can start to add records/rows to the tables.)
To monitor the whole process, add the following line to your config file, so that mongodb will print out more info about what's going on:
systemLog: path: /usr/local/var/log/mongodb/mongo.log verbosity: 2
Now, as you perform operations on mongodb in Python, you can run tail -f /usr/local/var/log/mongodb/mongo.log in another window, and monitor to ensure that everything is working as expected.
Script: insert test data
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.test_database
collection = db.test_collection
docs = [{ 'bssid' : 'A', 'channel' : 1, 'ssid' : 'asdf', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'B', 'channel' : 2, 'ssid' : 'qwer', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'C', 'channel' : 1, 'ssid' : 'woei', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'D', 'channel' : 1, 'ssid' : 'wori', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'E', 'channel' : 2, 'ssid' : 'oprr', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'F', 'channel' : 2, 'ssid' : 'fghf', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'G', 'channel' : 3, 'ssid' : 'yruy', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'H', 'channel' : 2, 'ssid' : 'aaaa', 'strength' : -20, 'encryption' : 'WPA' },
{ 'bssid' : 'I', 'channel' : 4, 'ssid' : 'qaqw', 'strength' : -30, 'encryption' : 'WPA' },
{ 'bssid' : 'J', 'channel' : 4, 'ssid' : 'sxv3', 'strength' : -30, 'encryption' : 'WPA' },
{ 'bssid' : 'K', 'channel' : 1, 'ssid' : '8fkk', 'strength' : -30, 'encryption' : 'WPA' },
{ 'bssid' : 'L', 'channel' : 2, 'ssid' : 'plnb', 'strength' : -30, 'encryption' : 'WPA' },
{ 'bssid' : 'M', 'channel' : 4, 'ssid' : 'llzb', 'strength' : -30, 'encryption' : 'WPA' },
{ 'bssid' : 'N', 'channel' : 3, 'ssid' : 'u2tt', 'strength' : -30, 'encryption' : 'WPA' }]
result = collection.insert_many(docs)
print result.inserted_ids