12.7 coding-python-mongo相关代码笔记

4 篇文章 0 订阅
2 篇文章 0 订阅

python mongoDB相关代码

根据id查询(pymongo 2.4.1-3.1.1)
from bson.objectid import ObjectId
for item in dbm.neo_nodes.find({"_id": ObjectId(obj_id_to_find)})]

http://stackoverflow.com/questions/16073865/search-by-objectid-in-mongodb-with-pymongo
http://www.jb51.net/article/66425.htm(过时的方法)

一些api:

mydb = con.mydb # new a database
mydb.add_user('test', 'test') # add a user
mydb.authenticate('test', 'test') # check auth

muser = mydb.user # new a table

muser.save({'id':1, 'name':'test'}) # add a record

muser.insert({'id':2, 'name':'hello'}) # add a record
muser.find_one() # find a record

muser.find_one({'id':2}) # find a record by query

muser.create_index('id')

muser.find().sort('id', pymongo.ASCENDING) # DESCENDING
# muser.drop() delete table
muser.find({'id':1}).count() # get records number

muser.find({'id':1}).limit(3).skip(2) # start index is 2 limit 3 records

muser.remove({'id':1}) # delet records where id = 1

muser.update({'id':2}, {'$set':{'name':'haha'}}) # update one recor

http://www.cnblogs.com/DxSoft/archive/2010/10/21/1857371.html

如果出现:AttributeError: ‘module’ object has no attribute ‘Connection’
这个错误,是因为版本pymongo.Connection()在新版本中,这个方法已经不存在了,应该这样用:

from pymongo import MongoClient
client=MongoClient()#链接默认的host和port
client=MongoClient('localhost', 27017)
client.db.table.find()

枚举find的结果:

cursor = list(table.find().limit(10).skip(10*(page-1)))
        for item in cursor:
            print item

部分命令:

连接数据库
>>> db = conn.ChatRoom
或
>>> db = conn['ChatRoom']

连接聚集
>>> account = db.Account
或
>>> account = db["Account"]

查看全部聚集名称
>>> db.collection_names()

查看聚集的一条记录
>>> db.Account.find_one()
>>> db.Account.find_one({"UserName":"keyword"})

查看聚集的字段
>>> db.Account.find_one({},{"UserName":1,"Email":1})
{u'UserName': u'libing', u'_id': ObjectId('4ded95c3b7780a774a099b7c'), u'Email': u'libing@35.cn'}
>>> db.Account.find_one({},{"UserName":1,"Email":1,"_id":0})
{u'UserName': u'libing', u'Email': u'libing@35.cn'}

查看聚集的多条记录
>>> for item in db.Account.find():
        item
>>> for item in db.Account.find({"UserName":"libing"}):
        item["UserName"]

查看聚集的记录统计
>>> db.Account.find().count()
>>> db.Account.find({"UserName":"keyword"}).count()

聚集查询结果排序
>>> db.Account.find().sort("UserName")  --默认为升序
>>> db.Account.find().sort("UserName",pymongo.ASCENDING)   --升序
>>> db.Account.find().sort("UserName",pymongo.DESCENDING)  --降序

聚集查询结果多列排序
>>> db.Account.find().sort([("UserName",pymongo.ASCENDING),("Email",pymongo.DESCENDING)])


添加记录
>>> db.Account.insert({"AccountID":21,"UserName":"libing"})

修改记录
>>> db.Account.update({"UserName":"libing"},{"$set":{"Email":"libing@126.com","Password":"123"}})

删除记录
>>> db.Account.remove()   -- 全部删除
>>> db.Test.remove({"UserName":"keyword"})

python webpy相关

webpy3.0模板中文文档
http://webpy.org/docs/0.3/templetor.zh-cn

webpy3.0获取上传的文件:
http://webpy.org/cookbook/fileupload.zh-cn

params = web.input(myfile={})
with open(filedir + '/' + filename, 'wb') as f_out:
     f_out.write(params['myfile'].file.read())
f_out.close()

指定404结果
web.notfound()

python相关

一. 使用md5包

import md5

src = 'this is a md5 test.'   
m1 = md5.new()   
m1.update(src)   
print m1.hexdigest()   
二. 使用hashlib

import hashlib   

m2 = hashlib.md5()   
m2.update(src)   
print m2.hexdigest()   
推荐使用第二种方法。

http://outofmemory.cn/code-snippet/939/python-liangzhong-produce-md5-method

时间格式化输出:

  time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 



 strftime(format[, tuple]) -> string
  将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
  python中时间日期格式化符号:
  %y 两位数的年份表示(00-99)
  %Y 四位数的年份表示(000-9999)
  %m 月份(01-12)
  %d 月内中的一天(0-31)
  %H 24小时制小时数(0-23)
  %I 12小时制小时数(01-12) 
  %M 分钟数(00=59)
  %S 秒(00-59)

  %a 本地简化星期名称
  %A 本地完整星期名称
  %b 本地简化的月份名称
  %B 本地完整的月份名称
  %c 本地相应的日期表示和时间表示
  %j 年内的一天(001-366)
  %p 本地A.M.或P.M.的等价符
  %U 一年中的星期数(00-53)星期天为星期的开始
  %w 星期(0-6),星期天为星期的开始
  %W 一年中的星期数(00-53)星期一为星期的开始
  %x 本地相应的日期表示
  %X 本地相应的时间表示
  %Z 当前时区的名称
  %% %号本身 

python文件操作:

>>> os.path.exists('d:/assist/getTeacherList.py')
True
>>> os.path.isfile('d:/assist')
False
>>> os.path.isfile('d:/assist/getTeacherList.py')
True
>>> os.makedirs('d:/assist/set')

字符串是否包含:

my_string = "abcdef"

if "abc" in my_string:
    has_abc = True

字符串转整数:
http://blog.csdn.net/tweller/article/details/7767538

import string 

tt='555'

ts=string.atoi(tt)

附录:

mongo命令:http://blog.csdn.net/delbboy/article/details/7611715

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值