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": ""})
15、更新记录
>>> account.update({"name": "mike"}, {"$set": {"active_time": ""}})
注:如果数据中没有键-值"name": "mike", 会新增"active_time": ""
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- --*-- import pymongo
import re host="**.**.**.**"
port=
conn = 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":""})
#col_col.update({"message":"hello*3"}, {"$set":{"message":"hello*3*9"}})
import datetime y,M,d,h,m,s = ,,,,,
d = datetime.datetime(y,M,d,h,m,s)
delta = datetime.timedelta(hours=) 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 l print "count:", c
print "END!"
pymongo使用总结的更多相关文章
- Python: Windows 7 64位 安装、使用 pymongo 3.2
官网tutorial: http://api.mongodb.com/python/current/tutorial.html 本教程将要告诉你如何使用pymongo模块来操作MongoDB数据库. ...
- 2.0 (2)测试pymongo
在数据库中创建数据库.表,插入数据. from pymongo import MongoClient host = "localhost" port = 27017 client ...
- Windows平台下为Python添加MongoDB支持PyMongo
到Python官网下载pymongo-2.6.3.win-amd64-py2.7.exe 安装pymongo-2.6.3.win-amd64-py2.7.exe 参照官方的用例进行测试 打开命令提示符 ...
- 【Python】pymongo使用
官方文档:http://api.mongodb.com/python/current/index.html MongoReplicaSetClient:http://api.mongodb.com/p ...
- 【mongo】pymongo通过_id删除数据
来源:http://www.educity.cn/wenda/361741.html pymongo 根据 objectId _id 来删除数据想要删除数据,根据_id ,是最靠谱的,具体方法因为 _ ...
- pymongo 3.3 使用笔记
#首先安装pymongo sudo pip install pymongo || sudo easy_install pymongo #demo均在交互解释器下进行 from pymongo impo ...
- PyMongo下载及安装
PyMongo最新版本下载地址: http://pypi.python.org/pypi/pymongo/#downloads PyMongo旧版本下载地址: http://pypi.python.o ...
- 【pymongo】连接认证 auth failed解决方法
故事背景: 我在虚拟机(ip:192.168.xx.xx)上建立了一个mongo的数据库,里面已经存好了内容.里面的一个database叫做 "adb", 里面有个collecti ...
- mongodb的python接口pymongo使用
1. 连接 from pymongo import MongoClient client = MongoClient("mongodb://mongodb0.example.net:2701 ...
随机推荐
- html5_d登陆界面_注册界面
<!DOCTYPE html><html><head><script type="text/javascript">function ...
- VS插件开发
参考资料: VS插件开发 - 个性化VS IDE编辑器 自己动手编写一个VS插件(一) VS Addin插件基本开发入门 VS Addin插件配置.部署
- ORA-01791: 不是 SELECTed 表达式
Oracle 9i数据库,执行下面语句出现错误“ORA-01791: 不是 SELECTed 表达式”:select distinct t.name from auth_employee t orde ...
- PHP 错误与异常 笔记与总结(13 )自定义异常类
针对不同的异常,进行不同的处理,可以通过自定义异常类记录特定的异常信息来处理不同类型的异常.自定义异常类通过继承基类(Exception),对基类进行扩展. 自定义异常类 <?php heade ...
- 撑起大规模PHP网站的开源工具
撑起大规模PHP网站的开源工具 百万级PHP站点Poppen.de的架构 在 2011年11月27日 那天写的 已经有 3957 次阅读了 感谢 参考或原文 服务器君一共花费了54.510 ...
- DirectX基础学习系列2
补充第一章矩阵内容 向量 1 3D空间向量,包含浮点数类型坐标 D3DXVECTOR-->D3DXVECTOR3 2向量的长度 D3DXVector3Length(const D3DXVECTO ...
- iMx280A测试声纹
1.首先要有声纹识别的动态库,且arm-linux-gcc的版本相同.可以在虚拟机用file 命令来看文件的基本信息,通过file指令,我们得以辨 识该文件的类型. 2.用tftp将库传到开发板的li ...
- 学习VS生活
很多时候,失败的原因归结为一点:我没有时间...代码敲不完,我真的是没有时间么?很多时候是没意识的浪费时间 我每次进教室,总能看到吴刚和赵东亮在敲代码,为啥他们有时间呢?很多时候,时间就像那啥,挤一挤 ...
- 21335592 ROWS
CREATE TABLE w_big SELECT * FROM ( SEELCT * FROM w_tab UNION ALL SELECT * FROM w_tab_copy_modify ) ...
- Machine Learning in Action -- 回归
机器学习问题分为分类和回归问题 回归问题,就是预测连续型数值,而不像分类问题,是预测离散的类别 至于这类问题为何称为回归regression,应该就是约定俗成,你也解释不通 比如为何logistic ...