Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1423892
  • 博文数量: 264
  • 博客积分: 5810
  • 博客等级: 大校
  • 技术积分: 3528
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 17:15
文章分类

全部博文(264)

文章存档

2011年(264)

分类: Python/Ruby

2011-09-30 10:54:54

  1. 1. 应用mongoalchemy进行ORM包装开发
  2. 第一步:定义ORM模型类
  3. class CoreLog(Document):
  4.     _id = ObjectIdField(required=False)
  5.     args = TupleField(StringField())
  6.     name= StringField()
  7.     level=StringField()
  8.     line_no=IntField()
  9.     funcname=StringField()
  10.     host=StringField()
  11.     user=StringField()
  12.     file=StringField()
  13.     time= DateTimeField()
  14.     msg=StringField()
  15.     exc_info=AnythingField()
  16.     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模块的常用操作$$$$$$$$$$$$$$$$$$$$$$$






阅读(3076) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~