Python中MongoDB使用

2020-11-09 09:46:36 浏览数 (1)

MongoDB for Python

#1 环境

代码语言:javascript复制
Python3.7.3
pymongo==3.7.2

#1 准备

代码语言:javascript复制
from pymongo import MongoClient

#1.1 链接MongoDB

代码语言:javascript复制
client = MongoClient('localhost',27017)

#1.2 链接数据库

代码语言:javascript复制
db=client.proxy # proxy是我的MongoDB的一个数据库名

#1.3 连接集合(表名)

代码语言:javascript复制
collection=db.proxytable # proxytable是我的MongoDB中proxy的一个集合名

#2 操作

#2.1 查找集合中所有数据

代码语言:javascript复制
for item in collection.find():
    print(item) # item 就是每一行数据 

#2.2 查找集合中单条数据

代码语言:javascript复制
collection.find_one({"port":"8118"}) # 获取port等于8118的第一条数据

代码语言:javascript复制
for foo in collection.find({"port":"8118"}):
    print(foo)

代码语言:javascript复制
# port小于9000的数据按ip排序
# 因为我的MongoDB中port存的是string类型数据,所以比较大小时,比的是第一个字符,如果是int类型数据,正常比较
for foo in collection.find({"port":{"$lt":"9000"}}).sort("ip"): 
    print(foo)

代码语言:javascript复制
collection.count() # 统计集合数据条数

#2.3 向集合中插入数据

代码语言:javascript复制
collection.insert({ip:'122.235.240.108',pory:8989})

#2.4 更新集合中的数据,第一个大括号里为更新条件,第二个大括号为更新之后的内容

代码语言:javascript复制
collection.update({ip:'122.235.240.108'},{port:'8980'})

#2.5 加索引

代码语言:javascript复制
from pymongo import ASCENDING, DESCENDING
users.create_index([("ip", DESCENDING), ("port", ASCENDING)])
# ASCENDING 设为1 标识索引升序,-1降序

#2.6 删除集合collection中的所有数据

代码语言:javascript复制
collection.remove()

#2.7 删除集合

代码语言:javascript复制
collection.drop()

#2.8 数据导出

代码语言:javascript复制
mongoexport -d test -c users --csv -f name,age  -o e:pythonusers.csv


0 人点赞