1. PyMongo的安装
直接使用pip安装:
pip install pymongo
2. PyMongo的使用
(1)使用PyMongo初始化数据库
要使用PyMongo操作MongoDB,首先需要初始化数据库连接。如果MongoDB运行在本地计算机上,而且也没有修改端口或者添加用户名及密码,那么初始化MongoClient的实例的时候就不需要带参数,直接写为:
from pymongo import MongoClient
client = MongoClient()
如果MongoDB是运行在其他服务器上面的,那么就需要使用“URI(Uniform Resource Identifier,统一资源标志符)”来指定连接地址。MongoDB URI的格式为:
mongodb://用户名:密码@服务器IP或域名:端口
例如:
from pymongo import MongoClient
client = MongoClient(‘mongodb://kingname:12345@45.76.110.210:27019‘)
如果没有设置权限验证,就不需要用户名和密码,那么可以写为:
from pymongo import MongoClient
client = MongoClient(‘mongodb://45.76.110.210:27019‘)
PyMongo初始化数据库与集合有两种方式。
方式1:
from pymongo import MongoClient
client = MongoClient()
database= client.Chapter6
collection = database.spider
需要注意,使用方式1的时候,代码中的“Chapter6”和“spider”都不是变量名,它们直接就是库的名字和集合的名字。
方式2:
from pymongo import MongoClient
client = MongoClient()
database = client[‘Chapter6‘]
collection = db1[‘spider‘]
使用方式2时,在方括号中指定库名和集合名。这种情况下,方括号里除了直接写普通的字符串以外,还可以写一个变量。例如:
db_name = ‘Chapter6‘
col_name = ‘spider‘
database = client[db_name]
collection = client[col_name]
MongoDB运行在45.76.110.210这台计算机的27017端口上,那么PyMongo的代码就要修改为:
from pymongo import MongoClient
client = MongoClient(‘mongodb://45.76.110.210:27017 ‘)
database = client[‘Chapter6‘]
collection = db1[‘spider‘]
建议在非必要情况下不允许外网访问MongoDB
2)插入数据
MongoDB的插入操作非常简单。用到的方法为insert(参数),插入的参数就是Python的字典。插入一条数据的代码如下。
from pymongo import MongoClient
client = MongoClient()
database = client[‘Chapter6‘]
collection = db1[‘spider‘]
data = {‘id‘: 123, ‘name‘: ‘kingname‘, ‘age‘: 20, ‘salary‘: 999999}
collection.insert(data)
(3)普通查找
MongoDB的查找功能对应的方法是:
find(查询条件, 返回字段) find_one(查询条件,返回字段)
两个参数的类型均为Python字典,参数可以省略。其中,find_one()一次只返回一条信息。因此用得最多的是find()这个方法。
普通查询方法有以下3种写法。
content = collection.find()
content = collection.find({‘age‘: 29})
content = collection.find({‘age‘: 29}, {‘_id‘: 0, ‘name‘: 1, ‘salary‘: 1})
(8)对查询结果去重
去重使用distinct()方法,其格式为:
collection.distinct(‘列名‘)