Python 操作mongodb数据库

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:   查看数据库  from pymongo import MongoClient  connect=MongoClient(host='localhost', port=27017, username="root", password="123456")  connect=MongoClient('mongodb://localhost:27017/', username="root", password="123456")  print(connect.list_database_names())

  查看数据库

  from pymongo import MongoClient

  connect=MongoClient(host='localhost', port=27017, username="root", password="123456")

  connect=MongoClient('mongodb://localhost:27017/', username="root", password="123456")

  print(connect.list_database_names())

  获取二手游戏账号转让平台数据库实例

  test_db=connect['test']

  获取collection实例

  collection=test_db['students']

  插入一行document, 查询一行document,取出一行document的值

  from pymongo import MongoClient

  from datetime import datetime

  connect=MongoClient(host='localhost', port=27017, username="root", password="123456",)

  # 获取db

  test_db=connect['test']

  # 获取collection

  collection=test_db['students']

  # 构建document

  document={"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"], "date": datetime.now()}

  # 插入document

  one_insert=collection.insert_one(document=document)

  print(one_insert.inserted_id)

  # 通过条件过滤出一条document

  one_result=collection.find_one({"author": "Mike"})

  # 解析document字段

  print(one_result, type(one_result))

  print(one_result['_id'])

  print(one_result['author'])

  注意:如果需要通过id查询一行document,需要将id包装为ObjectId类的实例对象

  from bson.objectid import ObjectId

  collection.find_one({'_id': ObjectId('5c2b18dedea5818bbd73b94c')})

  插入多行documents, 查询多行document, 查看collections有多少行document

  from pymongo import MongoClient

  from datetime import datetime

  connect=MongoClient(host='localhost', port=27017, username="root", password="123456",)

  # 获取db

  test_db=connect['test']

  # 获取collection

  collection=test_db['students']

  documents=[{"author": "Mike","text": "Another post!","tags": ["bulk", "insert"], "date": datetime(2009, 11, 12, 11, 14)},

  {"author": "Eliot", "title": "MongoDB is fun", "text": "and pretty easy too!", "date": datetime(2009, 11, 10, 10, 45)}]

  collection.insert_many(documents=documents)

  # 通过条件过滤出多条document

  documents=collection.find({"author": "Mike"})

  # 解析document字段

  print(documents, type(documents))

  print(''300)

  for document in documents:

  print(document)

  print(''300)

  result=collection.count_documents({'author': 'Mike'})

  print(result)

  范围比较查询

  from pymongo import MongoClient

  from datetime import datetime

  connect=MongoClient(host='localhost', port=27017, username="root", password="123456",)

  # 获取db

  test_db=connect['test']

  # 获取collection

  collection=test_db['students']

  # 通过条件过滤时间小于datetime(2021, 1,1,15,40,3) 的document

  documents=collection.find({"date": {"$lt": datetime(2021, 1,1,15,40,3)}}).sort('date')

  # 解析document字段

  print(documents, type(documents))

  print(''300)

  for document in documents:

  print(document)

  创建索引

  from pymongo import MongoClient

  import pymongo

  from datetime import datetime

  connect=MongoClient(host='localhost', port=27017, username="root", password="123456",)

  # 获取db

  test_db=connect['test']

  # 获取collection

  collection=test_db['students']

  # 创建字段索引

  collection.create_index(keys=[("name", pymongo.DESCENDING)], unique=True)

  # 查询索引

  result=sorted(list(collection.index_information()))

  print(result)

  document修改

  from pymongo import MongoClient

  connect=MongoClient(host='localhost', port=27017, username="root", password="123456",)

  # 获取db

  test_db=connect['test']

  # 获取collection

  collection=test_db['students']

  result=collection.update({'name': 'robby'}, {'$set': {"name": "Petter"}})

  print(result)

  注意:还有update_many()方法

  document删除

  from pymongo import MongoClient

  connect=MongoClient(host='localhost', port=27017, username="root", password="123456",)

  # 获取db

  test_db=connect['test']

  # 获取collection

  collection=test_db['students']

  result=collection.delete_one({'name': 'Petter'})

  print(result.deleted_count)

  注意:还有delete_many()方法

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
14天前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
114 68
|
14天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
15天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
15天前
|
关系型数据库 MySQL 数据处理
探索Python中的异步编程:从asyncio到异步数据库操作
在这个快节奏的技术世界里,效率和性能是关键。本文将带你深入Python的异步编程世界,从基础的asyncio库开始,逐步探索到异步数据库操作的高级应用。我们将一起揭开异步编程的神秘面纱,探索它如何帮助我们提升应用程序的性能和响应速度。
|
16天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
11 1
|
24天前
|
存储 NoSQL Shell
MongoDB 创建数据库
10月更文挑战第12天
47 4
|
25天前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
|
23天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
30天前
|
SQL 机器学习/深度学习 数据采集
SQL与Python集成:数据库操作无缝衔接22.bijius.com
自动化数据预处理:使用Python库(如Pandas)自动清洗、转换和准备数据,为机器学习模型提供高质量输入。 实时数据处理:集成Apache Kafka或Amazon Kinesis等流处理系统,实现实时数据更新和分析。
|
1月前
|
存储 关系型数据库 数据库
轻量级数据库的利器:Python 及其内置 SQLite 简介
轻量级数据库的利器:Python 及其内置 SQLite 简介
下一篇
无影云桌面