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

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 Statement
CREATE 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值