MongoDB¶
Install¶
sudo pacman -S mongodb
sudo pip install pymongo
mkdir -p /data/db
sudo chown kusti8 -R /data
mongod
Quickstart¶
http://api.mongodb.com/python/current/tutorial.html
from pymongo import MongoClient
client = MongoClient() # Args: (host, port)
db = client.test
collection = db.test_collection
data = {"username": "kusti8", "token": "testing"}
data_id = collection.insert_one(data).inserted_id
datas = [{"username": "kusti8", "token": "testing"}, {"username": "kusti7", "token": "testing123"}]
data_ids = collection.insert_many(datas).inserted_ids
collection.find_one()
collection.find_one({"username": "kusti8"})
for post in posts.find():
print(post)
Example - Push Notification Tokens¶
from gcm import *
from time import sleep
#from apns import APNs, Frame, Payload
from izzati import Backend
from pymongo import MongoClient
gcm = GCM("AIzaSyBUXAxT9Nynnx6ZbQfjnZL9-Ep3d37wBxY")
#apns = APNs(use_sandbox=True, cert_file='cert.pem')
client = MongoClient()
db = client.pushapp
tokens = db.tokens
def callback(data, files):
global gcm, tokens
print(data)
token = {'token': data['token']}
tokens.update_one(token, token, upsert=True) # Makes sure they are unique
data = {'title': 'Test Notifications', 'message': 'Hello!'}
#payload = Payload(alert="Hello World!", sound="default", badge=1, mutable_content=True)
#apns.gateway_server.send_notification(token, payload)
gcm.plaintext_request(registration_id=token, data=data)
sleep(10)
gcm.plaintext_request(registration_id=token, data=data)
b = Backend(callback)
b.run()