Python MongoDB学习笔记

1 MongoDB 常用函数实例代码

  1. 连接 MongoDB 我们需要使用 PyMongo 库里面的 MongoClient,一般来说传入 MongoDB 的 IP 及端口即可,第一个参数为地址 host,第二个参数为端口 port,端口如果不传默认是 27017

  2. MongoDB 中还分为一个个数据库,我们接下来的一步就是指定要操作哪个数据库,在这里我以 test 数据库为例进行说明,所以下一步我们需要在程序中指定要使用的数据库

  3. MongoDB 的每个数据库又包含了许多集合 Collection,也就类似与关系型数据库中的表,下一步我们需要指定要操作的集合

  4. 在 MongoDB 中,每条数据其实都有一个 _id 属性来唯一标识,如果没有显式指明 _id,MongoDB 会自动产生一个 ObjectId 类型的 _id 属性。insert() 方法会在执行后返回的 _id 值

import pymongo
client = pymongo.MongoClient(host='localhost', port=27017) # 链接数据库,得到数据库对象“client"
db = client.test # 新建或者选择”test“数据库
# db = client['test']
collection = db.students # 新建或者选择”students“ collection对象
# collection = db['students']

student1 = {
'id': '20170101',
'name': 'Jordan',
'age': 20,
'gender': 'male'
}

student2 = {
'id': '20170202',
'name': 'Mike',
'age': 21,
'gender': 'male'
}
# result = collection.insert(student) 官方不推荐用这个方法
# print(result)

# result = collection.insert_one(student) # 对collection对象进行数据插入
# print(result)
# print(result.inserted_id)

result = collection.insert_many([student1, student2]) # 对collection对象进行多个数据插入
print(result)
print(result.inserted_ids)

result = collection.find_one({'name': 'Mike'}) # 对collection对象进行查找
print(type(result))
print(result) # 可以发现它多了一个 _id 属性,这就是 MongoDB 在插入的过