热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pymongo的几个常用操作

学到了MongoDBMongo是一个基于分布式文件存储的数据库,由C++编写,旨在为Web应用提供可拓展的高性能数据存储解决方案.它介于关系数据库和非关系数据库之间,在非关系数据

学到了 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等 ,分别用于数字的增减,删除键,添加数组类型
这里写图片描述


推荐阅读
author-avatar
黄岳雯淑怡彦璇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有