1、创建数据库需要使用 MongoClient 对象,并且指定连接的 URL 地址和要创建的数据库名。
例:创建一个数据库,判断数据库是否存在
import pymongo #创建一个新数据库 myclient = pymongo.MongoClient('mongodb://localhost:27017/') mydb = myclient["runoobdbd"] #判断指定数据库是否存在 dblist = myclient.list_database_names() if "runoobdb" in dblist: print("数据库已存在!")
2、MongoDB 使用数据库对象来创建集合
import pymongo #创建一个集合 myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["runoobdb"] mycol = mydb["sites"] #判断集合是否存在 collist = mydb. list_collection_names() if "sites" in collist: print("集合已存在!")
3、增删查改等操作
(1)增:插入集合 集合中插入文档使用 insert_one() 方法,该方法的第一参数是字典 name => value 对。
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["runoobdb"] mycol = mydb["sites"] mydict = {"name":"RUNOOB","alexa":"10000","url":"https://www.runoob.com"} x =mycol.insert_one(mydict) print(x) print(x)
当插入多个文档时,使用 insert_many() 方法,和插入一个文档类似,mydict 中写入多个字典。
返回 _id 字段是指insert_one() 方法返回 InsertOneResult 对象,该对象包含 inserted_id 属性,它是插入文档的 id 值。即数字。
(2)删:删除数据 使用 delete_one() 方法来删除一个文档,该方法第一个参数为查询对象,指定要删除哪些数据。
例:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["runoobdb"] mycol = mydb["sites"] myquery = { "name": "Taobao" } mycol.delete_one(myquery) for x in mycol.find(): print(x)
使用 delete_many() 方法来删除多个文档,当 delete_many() 方法如果传入的是一个空的查询对象,则会删除集合中的所有文档:mycol.delete_many({})
使用 drop() 方法来删除一个集合,即 mycol.drop() 若删除成功则返回 true,失败(集合不存在)则返回 false。
(3)查:查询数据 使用了 find 和 find_one 方法来查询集合中的数据
(4)改:使用 update_one() 方法修改文档中的记录
(5)排序:运用 sort() 方法可以指定升序或降序排序,sort() 方法第一个参数为要排序的字段,第二个字段指定排序规则,1 为升序,-1 为降序,默认为升序。
即 mydoc = mycol.find().sort("alexa", -1)