python mongodb库_python 使用mongodb数据库

1,数据库安装

选择自己需要的tar包下载,我下载了 mongodb-linux-x86_64-ubuntu1804-4.0.10.tgz

tar -zxvf mongodb-linux-x86_64-ubuntu1804-4.0.10.tgz -C //usr/local# 解压到/usr/local 目录下

mvmongodb-linux-x86_64-ubuntu1804-4.0.10/ /usr/local/mongodb # 修改名称

在/etc/profile 中添加环境变量exportPATH=/usr/local/mongodb/bin:$PATH

sh /etc/profile 让环境变量生效

ok 数据库安装完毕了

2,启动数据库

启动数据库服务命令:

./mongod --dbpath=/home/andrew/mongodb

--dbpath指定了数据库存放路径。

启动数据库后台管理程序mongo,它是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境

./mongo

之后我们可以做些测试了:

比如:

db.star.insert({x:10}) 向集合star中插入数据{x:10},这时候可以观察/home/andrew/mongodb目录下有文件变化。

其他的测试不再这里说了

3,安装 pymongo

Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接

安装命令如下:pip install pymongo

4, 数据库增删改查询操作代码封装

import pymongo

mydb=None

def db_mongodb_init(url):

global mydb

myclient = pymongo.MongoClient(url)

dblist = myclient.list_database_names()

print("dblist:",dblist)

mydb = myclient["Print_Analysis"]

log_info = mydb["log_info"]

case_info = mydb["case_info"]

####colletion_name 集合的名字

####document 文档数据

####many True 表示多条文档数据

def db_mongodb_insert(colletion_name,document,many):

global mydb

col=mydb[colletion_name]

if many:

ret=col.insert_many(document)

print("inserted_ids",ret.inserted_ids)

else:

ret=col.insert_one(document)

print("inserted_id", ret.inserted_id)

return ret

###query : update的查询条件,类似sql update查询内where后面的。

###update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的

def db_mongodb_updata(colletion_name,query,update,many):

col = mydb[colletion_name]

if many:

col.update_many(query,update)

else:

col.update_one(query,update)

###query :可选,使用查询操作符指定查询条件

###projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

def db_mongodb_query(colletion_name,query,projection,many):

global mydb

col = mydb[colletion_name]

if many:

if projection==None and query==None:

col.find()

elif projection == None:

col.find(query)

else:

col.find(query, projection)

else:

if projection==None and query==None:

col.find_one()

elif projection == None:

col.find_one(query)

else:

col.find_one(query, projection)

def db_mongodb_delete(colletion_name,query,many):

global mydb

col = mydb[colletion_name]

if many:

col.delete_many(query)

else:

col.delete_one(query)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值