Python操作MongoDB
1. 前提工作-安装pymongo
参考链接1描述如下
pymongo是Python中用来操作MongoDB的一个库。MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。其文件存储格式类似于JSON,叫BSON,不严谨、通俗地理解,就是Python中的字典键值对格式
在使用Python操作MongoDB之前需要确保:
- 电脑已经安装mongoDB
- 电脑已安装pymongo;如果没有安装,可以通过
conda install pymongo
或者pip install pymongo
安装
2.基础操作
2.1 连接数据库
from pymongo import MongoClient
client = MongoClient('localhost',27017) # 创建一个MongoClient对象
或者
client = MongoClient('mongodb://localhost:27017/')
2.2 创建数据库
mongodb不需要提前创建好数据库2,可以直接调用,如果没有发现指定的数据库,则自动创建
db = client.test # 用.调用
#或者
db = client['test'] # 用中括号
新创建的数据库在没有插入数据时不显示。
同样的新创建的集合collection只有在内容插入后才会显示。
参考连接3中是这样说的
在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。
在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建
2.3 获取Collection
和数据库一样,可以用点和字典方式获取。
collection = db.test_collection
collection = db['test_collection']
2.3 插入数据
- 插入单条记录
db.collection.insertOne({ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } })
- 插入多条记录
db.inventory.insertMany([
{ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
{ item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])
如果插入的数据没有指定_id这个字段的值,则MongoDB会自动设置一个ObjectedId类型的值
2.4 查询
- 查询返回指定字段,参考4
# 字段名:1,则显示该字段;字段名:0,则不显示该字段;id_字段默认显示
db.collection.find({status:"A",{item:1, status:1})