用pymongo对MongoDB数据提取tips

  • libs:pymongo

  • python2.7.6

1、建立连接

 

#encoding=utf8
from pymongo import MongoClient
url=‘mongodb://user_name:passwd@server_ip[:port]/datebase‘#管理员要接入admin数据库,由于mongoDB的验证模式,其他数据库可能无权限!
con=MongoClient(url)


2、选择DB并连接collection

db=con[‘datebase‘]
user=db.user #collection命名若有非法字符(‘-’等),报错!
user=db[‘user‘]


3、查询【find or find_one】

user.find({‘key‘:value}) #返回一个迭代器
user.find_one({‘key‘:value}) #返回一个字典,仅匹配一个符合的记录

4、复杂的查询

db.order.find({‘created_time‘:{‘$gte‘:startTime,‘$lte‘:endTime},‘status‘:{‘$in‘:status_paid}},{‘items‘:1,‘_id‘:0})
查询某个时间段,状态在status_paid列表中;结果只要items的key——value对


经验分享

  • pymongo是python库,mongoDB的shell是javascript,一些语法不一样(比如排序)

  • 本机安装mongoDB,命令行输入mongo,进入javascript的shell

  • 数据库基本的操作:增删改查

  • 注意时间戳,javascript的时间戳是 【实际时间*1000】

  • 汉字可直接录入,编码为unicode,输出(print or write)时要转换为utf8【name.encode(‘utf8‘)】


本文出自 “物联网” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。