用pymongo对MongoDB数据提取tips

  • libs:pymongo
  • python2.7.6

1、建立连接

#encoding=utf8
from pymongo import MongoClient
url=‘mongodb://user_name:[email protected]_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‘)】
时间: 2024-10-13 07:00:51

用pymongo对MongoDB数据提取tips的相关文章

Python 使用pymongo操作mongodb库

1,安装python3.5 如果python还没有安装,可以直接用yum安装, [python] view plain copy # 不过安装的是2.6 version yum install -y python 源码安装3.5 [python] view plain copy wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz tar -xvf Python-3.5.0.tgz cd Python-3.5.0 ./conf

PHP实例————表单数据插入数据库及数据提取

网站在进行新用户注册时,都会将用户的注册信息存入数据库中,需要的时候再进行提取.今天写了一个简单的实例. 主要完成以下几点功能: (1)用户进行注册,实现密码重复确认,验证码校对功能. (2)注册成功后,将用户进行插入数据库中进行保存. (3)将数据库表中数据进行提取,并打印. 1.注册表单 在以前的几篇博客中,分享过注册及登录表单的代码.这次的代码,大致相同,只是略有变化.仅作为实例探讨 <html> <head> <title>注册页面</title>

把数组中的数据提取出来,包括数组中的数组

/*** 用闭包 实现数组中及数组内部数组 的数据提取出来*/ var myarr = [1,2,8,[3],[4,[5,[6],['a','b']],[9]]]; function tqFun(qcArr1){ var tempArr = []; function bbFun (qcArr){ for(var i=0; i<qcArr.length; i++){ if(qcArr[i] instanceof Array){ bbFun(qcArr[i]); }else{ tempArr.pus

MongoDB数据文件内部结构

有人在Quora上提问:MongoDB数据文件内部的组织结构是什么样的.随后10gen的工程师Jared Rosoff出来做了简短的回答. 每一个数据库都有自己独立的文件.如果你开启了directoryperdb选项,那你每个库的文件会单独放在一个文件夹里. 数据库文件在内部会被切分成单个的块,每个块只保存一个名字空间的数据.在MongoDB中,名字空间用于区分不同的存储类别.比如每个collection有一个独立的名字空间,每个索引也有自己的名字空间. 在一个块中,会保存多条记录,每条记录是B

MongoDB 数据迁移和同步

MongoDB 数据迁移和同步 MongoDB的数据同步 复制 mongodb的复制至少需要两个实例.其中一个是主节点master,负责处理客户端请求,其余的都是slave,负责从master上复制数据. master写处理:master负责接收写请求,具体的流程为: 如果开启journal功能,则先将写请求记录到journal中,然后批量执行,同时将操作记录到oplog中: 如果未开启journal功能,则对每个写请求进行单独操作,然后写入oplog. 注:oplog是幂等的,当有累加操作in

Mongodb数据库命令端常用操作

查询操作 Mongodb-SpringMvc下Query数据库操作SQL http://blog.csdn.net/xiaohulunb/article/details/27828381 1.查询所有 > db.foo.find() { "_id" : ObjectId("5389aa1df06b88aaa313746a"), "name" : "yiwa", "age" : 25, "us

使用Kettle增量抽取MongoDB数据实践

需求: 增量抽取MongoDB数据并加载到MSSQL 由于不能使用关系型数据库的自定义SQL, 所以主要遇到的问题有: 增量时间的查询和参数控制 ETL的批次信息和调用参数的写入 第一个问题的解决如下: 使用命名参数在Query页中进行过滤, 一开始会担心${}的引用方式会用Mongo的语法冲突, 测试后发现运行正常 第二个问题: 先为结果增加常量值, 如常量值固定则直接写死, 不固定的常量值先设置为空串, 在后面使用字符串替换组件传入命名参数, 最后用字段选择把空串的常量值移除

MongoDB数据表基本操作

MongoDB数据表基本操作 查看全部数据表 > use ChatRoom switched to db ChatRoom > show collections Account Chat system.indexes system.users 创建数据表 > db.createCollection("Account") {"ok":1} > db.createCollection("Test",{capped:true,

PHP+Mysql————表单数据插入数据库及数据提取

站点在进行新用户注冊时,都会将用户的注冊信息存入数据库中,须要的时候再进行提取.今天写了一个简单的实例. 主要完毕下面几点功能: (1)用户进行注冊,实现password反复确认,验证码校对功能. (2)注冊成功后,将用户进行插入数据库中进行保存. (3)将数据库表中数据进行提取,并打印. 1.注冊表单 在曾经的几篇博客中,分享过注冊及登录表单的代码.这次的代码,大致同样,仅仅是略有变化.仅作为实例探讨 表单页面实在没什么可讲的,除了格式对齐上加几个&nbsp(空格). <html>