- 1. 应用mongoalchemy进行ORM包装开发
- 第一步:定义ORM模型类
- class CoreLog(Document):
- _id = ObjectIdField(required=False)
- args = TupleField(StringField())
- name= StringField()
- level=StringField()
- line_no=IntField()
- funcname=StringField()
- host=StringField()
- user=StringField()
- file=StringField()
- time= DateTimeField()
- msg=StringField()
- exc_info=AnythingField()
- config_collection_name = "corelog"
对DateTimeField字段进行大小匹配查询
session = Session.connect(database="pub_ads",host="10.xxx.xxx.xxx", port=27017)
for donor in session.query(CoreLog).filter({CoreLog.time:{'$gte':datetime.datetime(2004, 12, 31),'$lt':datetime.datetime(2014, 12, 31)}}):
print donor.funcname
注意
1、DateTimeField进行大小匹配的时候是以DateTime为准的!所以对于字符串需要先转成datetime类型方可再进行比较!
2、对于字符串想实现like的功能可以这样操作
q = re.compile(r'%s.*' % filename, re.IGNORECASE) --做一个正则
tmp_result = tmp_result.filter({FileInfo.filename:{'$regex':q}})
支持正则匹配符!
$$$$$$$$$$$$$$$$$$$$以下是pymongo模块的常用操作$$$$$$$$$$$$$$$$$$$$$$$