将数据导入本地mongo中mongoimport --db test --collection restaurants --drop --file primer-dataset.json 如果本地mongo数据库中已经有了test 数据库,上面的命令会先删除之前的数据然后再导入新的数据在Linux/OS X 安装pymongopip install pymongo 插入数据: # test.pyfrom pymongo import MongoClientclient = MongoClient() # 如果不指明则默认连接本地的27017端口
db = client.test # db 代表了mongo的test数据库
table = db.person # 如果test中没有person这个表,MongoDB会创建一个Person#mongo中存储的数据类似json对象
from datetime import datetime
data = {
"name": "Jack",
"sex": "男",
"Age": 20,
"birth": datetime.strptime("1995-12-23", "%Y-%m-%d"),
"hobby": ["football", "basketball"],
"grades":{
"grade": "A"
"score": 80
}
"detail": [
{"father": "xxxx", "mather": "ffffff"}
{"father": "country", "mather": "God"}
]
}
p1 = table.insert_one(data)
#mongodb 会自动默认添加一个_id的域
print people.inserted_id
# 插入多条数据可以使用insert_many,insert_many 有默认参数ordered=True
p2 = table.insert_many({"name": i} for i in range(3))
print p2.inserted_ids查询数据:
person = table.find() #查找person表的所有信息
person = table.find({"Age":20}) #查询年龄是20的person
person = table.find({"Age":20, "detail.father": "country"}) #查询年龄是20并且father是country的person
person = table.find({"grades.score": {"$gt": 70}}) #查询分数大于70的person
person = table.find({"$or": [{"sex": "女"}, {"grades.grade": "A"}]}) #查询性别为女或者成绩为A
person = table.find().sort( [ ("Age", pymongo.ASCENDING), ("grades.score", pymongo.DESCENDING) ] ) #查询person表所有记录并先按照年龄升序,然后按分数降序select = {"birth": {"$lt": datetime.now()}}
group = {"_id": "$grades.grade", "count": {"$sum": 1}}
match = dict(select, **{"hobby": "football"})
pipeline = [
{"$match": match}, # 匹配条件
{"$unwind": "$grades"} #要以grades中的grade为分组条件要首先把grades查询解析出来
{"$group": group}, #分组条件
{"$limit": 10} # 限制查询条数为10
]
person = table.aggregate(pipeline)当表的名字不固定是个变量的时候,获取table通过
table = db["person_%s" % variable] 这种方式
浅析mongodb(基于python,linux)
时间: 2024-10-26 02:55:22
浅析mongodb(基于python,linux)的相关文章
linux进程调度函数浅析(基于3.16-rc4)
众所周知,进程调度使用schedule()函数来完成,下面我们从分析该函数开始,代码如下(kernel/sched/core.c): 1 asmlinkage __visible void __sched schedule(void) 2 { 3 struct task_struct *tsk = current; 4 5 sched_submit_work(tsk); 6 __schedule(); 7 } 8 EXPORT_SYMBOL(schedule); 第3行获取当前进程描述符指针,存
性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展示 实现功能 无需在被监控主机上安装代理,一键对Linux远程服务器不同主机执行性能监控.性能数据采集命令,并实时展示 支持跨堡垒机收集实时性能数据(注:定制化开发,非通用) 支持docker容器(因为程序实现是从docker容器内部获取性能数据,所以目前仅支持 CPU,内存,I/O) 使用前提 可
基于mongodb的python之增删改查(CRUD)
1,下载mongodb的python驱动,http://pypi.python.org/pypi/pymongo/,根据操作系统和python平台版本选择相应的egg或exe安装. 2,新建一个py脚本(可以在eclipse下安装pydev插件,很方便) #coding=utf-8 import pymongo connection = pymongo.Connection("192.168.0.101", 27017) db = connection.python print db.
符号执行-基于python的二进制分析框架angr
转载:All Right 符号执行概述 在学习这个框架之前首先要知道符号执行.符号执行技术使用符号值代替数字值执行程序,得到的变量的值是由输入变 量的符号值和常量组成的表达式.符号执行技术首先由King在1976年提出 ,经过三十多年的发展,现在仍然被广泛研究,它在软件测试和程序验证中发挥着重 要作用.符号执行是一种重要的形式化方法和静态分析技术,它使用数学和逻辑 首先定义一些基本概念.程序的路径(path)是程序的一个语句序列,这个 语句序列包括程序的一些顺序的代码片段,代码片段之间的连接是由
Baseline Testing 开源(基于Python插件式结构开发)
[其他]入职37.com后写的一个东西,为了检查下服务器的一些安全配置.数量太多,手工不靠谱. [OSCHINA开源社区地址]http://www.oschina.net/p/baseline-testing 基于Linux的配置检查工具,采用插件式结构开发.开发语言使用的是python.开发者可以通过自行开发插件来扩展该工具,灵活性高.开发该工具的主要目的是因为刚入职,需要对几百台服务器进行检查.有需要的朋友可以对其进行插件扩展.在使用的过程当中,可以自己配置FTP,目前支持将结果上传到FTP
实战:基于Python构建运维自动化平台
导语: 今天与大家一起探讨如何基于Python构建一个可扩展的运维自动化平台,也希望能与大家一起交流,共同成长. 此次分享将通过介绍OMServer.OManager具备的功能.架构设计.模块定制.安全审计.C/S结构的实现等几个方面的内容来展开. 为什么选择Python? 默认安装且跨平台 可读性好且开发效率高 丰富的第三方库(开发框架.各类API.科学计算.GUI等) 社区活跃&众多开发者. Python在腾讯的现状,根据去年内部提交组件语言统计,除去2.3.4前端技术,Python在高级编
基于python adb 命令写的小小测试安卓性能压力的脚本
今天闲来无事,写了一个基于Python的脚本,主要实现脚本运行adb shell命令,后期如果需要其他功能,依旧可以在此基础上进行扩展.废话不多说,上脚本,截图.源码在下边. os test_adb_port(): os.system() i = ().readline() j = i.split()[-] c = j.replace(, ) = os.system(%c) os.system() os.system() test_test
psutil一个基于python的跨平台系统信息跟踪模块
受益于这个模块的帮助,在这里我推荐一手. https://pythonhosted.org/psutil/#processes psutil是一个基于python的跨平台系统信息监视模块.在python下,我们可以利用它来监视.检测和限制系统资源的使用.它提供了类似于一套控制台的指令功能,像是ps.netstat.ifconfig等等.当前这个模块支持的系统有windows/osx/linux/FreeBSD/Sun Solaris.32.64位均支持.python环境为2.6-3.5. 这里我
如何基于Python构建一个可扩展的运维自动化平台
嘉宾简介 刘天斯 从事互联网运维工作已13年,目前就职于腾讯-互动娱乐部,负责游戏大数据的运营,曾就职于天涯社区,担任首席架构师/系统管理员. 热衷开源技术的研究,包括系统架构.运维开发.负载均衡.缓存技术.数据库.NOSQL.分布式存储.消息中间件.大数据及云计算.Mesos.Docker.DevOps等领域.擅长大规模集群的运维工作,尤其在自动化运维方面有着非常丰富的经验.同时热衷于互联网前沿技术的研究,活跃在国内社区.业界技术大会,充当一名开源技术的传播与分享者. 导言 受 Reboot