pymongo基础
PyMongo是MongoDB数据库的python模块
MongoDB是由C++语音编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统。
win10 安装 4.0
使用官网的配置

使用 net start mongodb 查看是否启动成功
import pymongo
client = pymongo.MongoClient("localhost",27017) #连接数据库
test = client["test"] #使用test数据库
students = test["students"] #使用students表格 #数据
def data_portion():
insert_data_1 = {"id":"",
"name":"小明",
"age":12}
insert_data_2 = {"id":"",
"name":"小红",
"age":11}
insert_data_3 = {"id":"",
"name":"小强",
"age":12}
data = [insert_data_1, insert_data_2, insert_data_3]
return data
#插入数据
def insert_portion(data):
students.insert_many(data) #插入数据
results = students.find() #查看所以数据,返回一个生成器对象
for result in results:
print(result["name"])
print("当前数据一共有: " + str(students.count()) + "条") #删除数据
def remove_portion():
print("remove------------------------------") remove_dates = students.find({"age":{"$ne":12}}) # $ne:不等于
print("匹配条数: " + str(remove_dates.count()) + "条")
for remove_date in remove_dates:
students.delete_one(remove_date) #查找数据
def find_portion():
print("find------------------------------")
count = students.find().count()
print("数据一共有: " + str(count) + "条")
finds = students.find()
print("分别是:")
for find in finds.sort("id",pymongo.ASCENDING):
print(find) #排序截取数据
def sort_skip_portion():
print("sort_skip------------------------------")
#排序 : sort(按照谁排序,排序方式)。升序:ASCENDING,降序:DESCENDING
#偏移 : skip(偏移数量) #限制 : limit(限制个数)
results = students.find().sort("id",pymongo.ASCENDING).skip(2).limit(2)
print([result["name"] for result in results]) #遍历并以列表方式储存 #更新数据
def update_portion():
# update用法官网不推荐使用
# update语句需要 $ 操作
print("update------------------------------") def first_find_portion():
# update_one的使用
find = {"id":""}
replace = {"$set":{"id":"clear"}}
# update(替换对象,替换内容)
update = students.update_one(find,replace)
print("匹配的条数: " + str(update.matched_count))
print("影响的条数: " + str(update.modified_count))
def second_find_portion():
# update_many的使用
find = {"id":{"$nin":["clear",""]}} # $nin : 不在范围
replace = {"$set":{"id":"be update"}}
update = students.update_many(find,replace)
print("匹配的条数: " + str(update.matched_count))
print("影响的条数: " + str(update.modified_count)) first_find_portion()
second_find_portion()
if __name__ == "__main__":
# 清空数据库数据
students.delete_many({"id":{"$ne":0}})
# 循环插入3次
for i in range(3):
# 调用函数
insert_portion(data_portion())
remove_portion()
sort_skip_portion()
update_portion()
find_portion()
下面为运行结果:


pymongo基础的更多相关文章
- pymongo基础使用方法
本文通过文章同步功能推送至博客园,排版可能会有所错误,敬请见谅! 1.客户端初始化 初始化MongoDB客户端 client = pymongo.MongoClient('localhost',270 ...
- mongodb,Mysql,redis基础教程
数据库基础 1:mongodb基础教程 1:pymongo基础教程 2:Mysql基础教程 3:redis基础教程
- python基础教程之pymongo库
1. 引入 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库. 1. 安装 pi ...
- pymongo(看后转载,在原基础上添加了类连接和简单调用)
一.MongoDB 数据库操作 1. 连接数据库 import pymongo conn = pymongo.Connection() # 连接本机数据库 # conn = pymongo.Conne ...
- Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程
[保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...
- MongoDB的upsert状态判断和pymongo使用方法
在mongo中,有一个命令非常的方便,就是upsert,顾名思义就是update+insert的作用 根据条件判断有无记录,有的话就更新记录,没有的话就插入一条记录 upsert的使用方法: Mong ...
- pymongo 学习总结
1.简介 MongoDB是一种强大.灵活.追求性能.易扩展的数据存储方式.是面向文档的数据库,不是关系型数据库,是NoSQL(not only SQL)的一种.所谓的面向文档,就是将原来关系型数据库中 ...
- 爬虫基础(五)-----scrapy框架简介
---------------------------------------------------摆脱穷人思维 <五> :拓展自己的视野,适当做一些眼前''无用''的事情,防止进入只关 ...
- 第一阶段——CentOS6_Python3.6.1笔记(尚学堂-Python基础快速入门)+ 【补充】麦子-Python程序入门与进阶
虚拟机环境: 设置网络 .修改网络地址 .设置网卡为nat模式 .确保物理机启动dhcp.net服务 .编辑文件:vim /etc/sysconfig/network-scripts/ifcfg-et ...
随机推荐
- br-lan、eth0、eth1及lo (转)
如果你的设备含有不少于1个的LAN接口,那这个设备在不同的接口之间可能有一个被称为交换(switch)的特殊连接.大多数的内部构造如下图所示: Linux 系统下输入ifconfig命令,会有如下输出 ...
- 使用Java API操作HDFS文件系统
使用Junit封装HFDS import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org ...
- laravel 黑名单功能实现
创建黑名单表迁移:php artisan make:model Models/BlackFeeds -m (生成模型和迁移文件) 迁移文件中创建如下字段: public function up( ...
- [iOS11] contentInsetAdjustmentBehavior 问题, push back时, 界面会上下移动.
https://stackoverflow.com/questions/45573829/weird-uitableview-behaviour-in-ios11-cells-scroll-up-wi ...
- Classy Numbers
http://codeforces.com/group/w1oiqifZbS/contest/1036/problem/C ①先查找,存入vector(dfs)-->排序(sort)--> ...
- 08-Xml & Tomcat
Xml & Tomcat Xml >eXtendsible markup language 可扩展的标记语言 XML 有什么用? 1. 可以用来保存数据 2. 可以用来做 ...
- golang 框架 之 CHI
1,特性 golang 的 http框架已经有很多,究其原因:go 的net/http 已经做了大部分工作,封装一个框架的工作量,没有那么的大. 不过呢,林子大了鸟也就多了,部分框架的代码质量实在不敢 ...
- jquery复制图片
<div class="img-div"> <a href="javascript:void(0);"><im ...
- 2.7python简历心得(重点)
2019-2-7 20:07:20 绝地求生被盗了,...因为群邮件木马导致! 正好不要想买显卡啦!又省了好多钱!!! 努力多学技能!并且深入了解,精通自己技能!!!坚持学习!! 要学会拓展自己的技能 ...
- 总结:极光推送java服务端(1)
遇到的问题: 1.怎么用极光推送 2.极光推送发送失败报错 返回{ } 3.透传和推送区别以及怎么设置 我的解决方案: 问题1.极光推送类里面有不同的方法,需要发给那些人就调用相应的方法.有安卓.io ...