pymongo使用总结
来源:互联网 发布:赛车游戏网络同步 编辑:程序博客网 时间:2024/06/16 23:31
pymongo使用总结
回到顶部
0. 何为pymongo
pymongo是操作MongoDB的python模块
回到顶部
1、安装pymongo
# easy_install pymongo
回到顶部
2、连接mongodb
>>> import pymongo>>> conn = pymongo.MongoClient(host=host,port=port,tz_aware=False)
回到顶部
3、获取数据库列表
>>> conn.database_names()[u'test1', u'test2', u'admin', u'local']
回到顶部
4、连接数据库
>>> db = conn.get_database("db_name")
回到顶部
5、权限验证
>>> db.authenticate('username', 'password')
True
回到顶部
6、获取聚集列表 (聚集的概念类似于关系型数据库中的表)
>>> db.collection_names()[u'account', u'role', u'item', u'online']
回到顶部
7、连接聚集
>>> account = db.get_collection("col_name")
回到顶部
8、查看聚集的一条记录
>>> account.find_one()
回到顶部
9、查看聚集的所有key (类似于关系型数据库中的字段)
>>> account.find_one().keys()
回到顶部
10、查看聚集的所有记录
>>> for i in account.find():... print i
回到顶部
11、查看记录总数
>>> account.find().count()
回到顶部
12、根据条件查询多条记录
>>> for i in account.find({"name": "xxx"}):... print i
回到顶部
13、对查询结果进行排序 (默认升序ASCENDING)
>>> account.find().sort("name", pymongo.ASCENDING)>>> account.find().sort([("name", pymongo.ASCENDING), ("active_time", pymongo.DESCENDING)])
回到顶部
14、新增记录
>>> account.insert({"name": "mike", "active_time": "20130408"})
回到顶部
15、更新记录
>>> account.update({"name": "mike"}, {"$set": {"active_time": "20130408120000"}})注:如果数据中没有键-值"name": "mike", 会新增"active_time": "20130408120000"
回到顶部
16、删除记录 (不带条件表示全部删除)
>>> account.remove({"name": "mike"})
回到顶部
17. pycharm模糊不清匹配查询
方法1.import re{'xxx':re.compile('xxx')}
方法2. {'xxx':{'$regex':'xxx'}
回到顶部
18.and or
account.find({ $or: [ { title: {$regex: 'test'} }, { intro: {$regex: 'test'} } ] })
回到顶部
19. 案例
#! /usr/bin/env python# --*-- coding:utf-8 --*--import pymongoimport rehost="**.**.**.**"port=27017conn = pymongo.MongoClient(host=host,port=port,tz_aware=False)db_name = "test"log_name = "col"db_test = conn.get_database(db_name)col_col = db_test.get_collection(log_name)#print "db names:", conn.database_names()#print "col names:", db_test.collection_names()#print "one_line:", col_col.find_one()#print "one_line_keys:", col_col.find_one().keys()#col_col.insert({"message2":"hihihi", "msg":"123"})#col_col.update({"message":"hello*3"}, {"$set":{"message":"hello*3*9"}})import datetimey,M,d,h,m,s = 2016,2,13,18,30,0d = datetime.datetime(y,M,d,h,m,s)delta = datetime.timedelta(hours=8)d = d-delta#logs = col_col.find( {"data":{"$gt":d} } )#logs = col_col.find( {"message":re.compile("hi")} )logs = col_col.find( {"$and": [{"message":re.compile("hi")}, {"data":{"$gt":d} }]} )c = logs.count()for l in logs: print lprint "count:", cprint "END!"
阅读全文
0 0
- pymongo的使用总结
- pymongo使用总结
- python之PyMongo使用总结
- pymongo使用
- pymongo 使用
- PyMongo小总结
- pymongo 学习总结
- pymongo(1) pymongo的基本使用
- pymongo使用问题汇总
- PyMongo基本使用
- PyMongo基本使用
- pymongo 使用小结
- PyMongo基本使用
- PyMongo基本使用
- pymongo的使用
- PyMongo基本使用
- PyMongo基本使用
- PyMongo基本使用
- spyder的工作路径和python的搜索路径
- Oracle-性能优化(二)
- kotlin开发Android入门篇四接口的创建和使用
- 详解手机注册验证码操作思路与流程
- Java的常见类
- pymongo使用总结
- 织梦DedeTag Engine Create File False的彻底解决方法总汇
- poj1186——方程的解数
- -Xdebug 启动命令
- Android WebView 总结 —— 硬件加速使用HTML5播放视频及全屏方案
- 应用系统架构设计
- Csdn修改账户手机绑定问题
- Lintcode:整数排列
- python基础——装饰器