程序员

python操作mongoDB

2020-08-15  本文已影响0人  _karen

MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。

PyMongo

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

# 直接安装可能会timeout,以下命令分分钟安装成功
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=100 pymongo

创建数据库

创建一个数据库

创建数据库需要使用 MongoClient 对象,并且指定连接的 URL 地址和要创建的数据库名。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/") # 创建连接
mydb = myclient["test"]  # 进入数据库

注意: 在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。

判断数据库是否已存在

我们可以读取 MongoDB 中的所有数据库,并判断指定的数据库是否存在:

import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
dblist = myclient.list_database_names()
# dblist = myclient.database_names()  database_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_database_names()。
if "test" in dblist:
  print("数据库已存在!")

创建集合

MongoDB 中的集合类似 SQL 的表。

import pymongo
 myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["test"]
mycol = mydb["sites"]
# 注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

判断集合是否已存在

我们可以读取 MongoDB 数据库中的所有集合,并判断指定的集合是否存在:

import pymongo
 myclient = pymongo.MongoClient('mongodb://localhost:27017/')
 mydb = myclient['test']
 collist = mydb. list_collection_names()
# collist = mydb.collection_names() 注意:collection_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_collection_names()。
if "sites" in collist:   # 判断 sites 集合是否存在
  print("集合已存在!")

增删改查

import pymongo

my_client = pymongo.MongoClient('mongodb://localhost:27017/')
my_db = my_client['test']
my_col = my_db["sites"]
my_col.insert({"name":"zhangsan","age":18}) # 增
my_col.find({}) # 查
my_col.update({"name":"zhangsan"},{"$set":{"name":"lisi"}}) # 改 把zhangsan的名字改成李四
my_col.find({}) # 查
my_col.remove({}) # 清空集合
my_col.drop() # 删除集合
上一篇 下一篇

猜你喜欢

热点阅读