MongoDB学习笔记2 - 配置python开发环境

来源:互联网 发布:plc编程工资多少一个月 编辑:程序博客网 时间:2024/06/07 05:36

1. 安装pymongo

git clone git://github.com/mongodb/mongo-python-driver.git pymongo
cd pymongo/
python setup.py install

2. 测试pymongo

>>> from pymongo import *
>>> conn = Connection()
>>> db = conn['test']
>>> col = db['foo']
>>> col.insert({'a':1})
ObjectId('4d4d64bd52574014c0000001')
>>> col.find_one()
{u'a': 1.0, u'_id': ObjectId('4d4d3e18d29190b1256914e6')}

3. SQL to pymongo mapping

仿照http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart,整理了一份SQL命令到pymongo方法的映射

SQL Statementpymongo StatementCREATE TABLE users (name VARCHAR(64), age INT);from pymongo import *
conn = Connection(host, port)
db = conn[dbname]
users = db['users']INSERT INTO users VALUES('tom', 30);users.insert({'name':'Tom', 'age':30})SELECT * FROM users;users.find()SELECT name, age FROM users;users.find({}, {'name':1, 'age':1})SELECT * FROM users WHERE age = 30;users.find({'age':30})SELECT name, age FROM users WHERE age = 30;users.find({'age':30}, {'name':1, 'age':1})SELECT * FROM users WHERE age = 30 ORDER BY name ASC, age DESC;users.find({'age':30}).sort([('name',ASCENDING), ('age',DESCENDING)])SELECT * FROM users WHERE age > 30;users.find({'age':{'$gt':30}})SELECT * FROM users WHERE age > 30 AND age <= 40;users.find({'age':{'$gt':30, '$lte':40}})SELECT * FROM users WHERE age IN(30,40);users.find({'age':{'$in':[30,40]}})SELECT * FROM users WHERE name LIKE 'Tom%';users.find({'name':{'$regex':'^Tom'}})SELECT * FROM users WHERE age = 30 AND name = 'Tom';users.find({'age':30, 'name':'Tom'})SELECT * FROM users WHERE age = 30 OR name = 'Tom';users.find({'$or':[{'age':30}, {'name':'Tom'}]})CREATE INDEX idx_name ON users (name, age DESC);users.create_index([('name',ASCENDING), ('age',DECENDING)], unique=T/F, dropDups=T/F)ALTER TABLE users DROP INDEX idx_name;users.drop_index(idx_name)EXPLAIN SELECT …users.find(…).explain()SELECT DISTINCE name FROM users;users.distinct('name')SELECT COUNT(*) from users;users.count()SELECT COUNT(*) from users WHERE …users.find(…).count()UPDATE users SET age = 31 WHERE name = 'Tom';users.update({'name':'Tom'}, {'$set': {'age':31}})UPDATE users SET age=age+1 WHERE name = 'Tom';users.update({'name':'Tom'}, {'$inc': {'age':1}})REPLACE INFO…users.update({'name':'Tom'}, {'$set': {'age':31}}, True)DELETE from users;users.remove()DELETE form users WHERE name = 'Tom';users.remove({'name':'Tom'})DROP TABLE users;users.drop()

 

Reference: http://api.mongodb.org/python/1.9%2B/tutorial.html