pymongo 的几个常用操作

本文介绍了MongoDB的基础知识,包括其特点与安装方法,并通过示例演示如何使用Python的pymongo库进行数据库操作,如创建、查询及更新记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学到了 MongoDB
Mongo 是一个基于分布式文件存储的数据库,由 C++ 编写,旨在为 Web 应用提供可拓展的高性能数据存储解决方案.它介于关系数据库和非关系数据库之间,在非关系数据库中最像关系数据库.
首先在 pycharm 中安装 pymongo 库
这里写图片描述
首先每次使用数据库前要打开 MongoDB 服务,即在文件目录下分别执行 mongod , mongo 命令
且关闭数据库最好用 Ctrl+C 再推出 cmd
输入 Label 后,建立一个mongodb
测试连接后就可以使用了

MongoDB文件储存格式是 json 所以一般都存字典

  • 创建数据库,表

测试代码:

import requests
import pymongo
import time

dic={'name':111,'id':222}
client=pymongo.MongoClient()
testdb=client['TEST_DB']
testsheet=testdb['TEST_SHEET']
testsheet.insert_one(dic)

MongoDB 是惰性的,意思就是在真正写入数据前,都不会创建数据库
这里写图片描述

  • 查询操作
import requests
import pymongo
import time

dic={'name':111,'score':222}
dic1={'name':1111,'score':2222}
client=pymongo.MongoClient() # MongoClient('localhost':27017)
testdb=client['TEST_DB'] # 新建数据库 类似字典
testsheet=testdb['TEST_SHEET'] # 新建表
testsheet.insert_one(dic)
testsheet.insert_one(dic1)

# 查询修改.find()
for item in testsheet.find():
    print(item)
    # update 方法 $set
    testsheet.update_one({'name':item['name']},{'$set':{'name':item['name']+5}})
#查找score大于2220的
for item in testsheet.find({'score':{'$gt':2220}}):
    print(item['name'])
#output
{'_id': ObjectId('5b12cd10fdf462257827248e'), 'name': 116, 'id': 222}
{'_id': ObjectId('5b12d5d1fdf46223ec431bde'), 'name': 116, 'score': 222}
{'_id': ObjectId('5b12d5d1fdf46223ec431bdf'), 'name': 1116, 'score': 2222}
{'_id': ObjectId('5b12d6d5fdf46213b4485dda'), 'name': 111, 'score': 222}
{'_id': ObjectId('5b12d6d5fdf46213b4485ddb'), 'name': 1111, 'score': 2222}
1121
1116

其中

testsheet.update_one({'name':item['name']},{'$set':{'name':item['name']+5}})
第一个参数是 {'name':item['name']} 为更新的查询条件,对应’name’字段,
第二个参数是{'$set':{'name':item['name']+5}}) $set是MongoDB的一个修改器,用于指定一个键并更新键值.,若不存在则新建.此外还有$inc,$unset,$push等 ,分别用于数字的增减,删除键,添加数组类型
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值