PyMongo
安装:
python -m easy_install pymongo
更新:
python -m easy_install -U pymongo
操作mongoDB数据库
import pymongo
#创建数据库
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["runoobdb"]
#判断数据库是否存在
dblist = myclient.list_database_names()
if 'runoobdb' in dblist:
print('数据库已存在!')
#创建集合
mycol = mydb["sites"]
#判断集合是否存在
collist = mydb.list_collection_names()
if "sites" in collist:
print("集合已存在!")
'''
添加数据
#插入一条数据
mydict = { "name": "小明", "age":"15", "sex":"男"}
x = mycol.insert_one(mydict)
#输出对应的id值
print(x.inserted_id)
#插入多条数据
mylist = [
{ "name": "小明", "age":"15", "sex":"男"},
{ "name": "小红", "age":"24", "sex":"女"}
]
x = mycol.insert_many(mylist)
#输出所有文档对应的_id值
print(x.inserted_ids)
'''
'''
查询数据
#查询一条数据
x = mycol.find_one()
print(x)
#查询所有数据
for x in mycol.find():
print(x)
#查询指定字段的数据,将要返回的字段设置为1。当然,如果你设置了这个字段为0,那么会返回除这个字段之外的所有字段的值。若同时指定了0和1则会报错
for x in mycol.find({},{"name":0}):
print(x)
#根据指定条件查询
myquery = {"name":"小明"}
#正则表达式查询,不过只能针对字符串
myquery = {"name":{"$regex":"^R"}}
mydoc = mycol.find(myquery)
for x in mydoc:
print(x)
#返回指定条数记录
myresult = mycol.find().limit(3)
for x in myresult:
print(x)
'''
'''
修改数据
#修改一条
myquery = {"name":"小红"}
newvalues = {"$set":{"name":"晓红"}}
mycol.update_one(myquery,newvalues)
#修改所有匹配到的记录
myquery = {"name":{"$regex":"^R"}}
newvalues = {"$set":{"name":"雯雯"}}
mycol.update_many(myquery,newvalues)
for x in mycol.find():
print(x)
'''
'''
数据排序
#sort() 第一个参数为要排序的字段,第二个字段指定排序规则,1为升序,-1为降序,默认为升序
mydoc = mycol.find().sort("age",-1)
for x in mydoc:
print(x)
'''
'''
删除数据
#删除一个
myquery = {"name":"小明"}
mycol.delete_one(myquery)
#删除多个文档
myquery = {"age":{"$regex":"<20"}}
mycol.delete_many(myquery)
#删除集合中的所有文档
mycol.delete_many({})
for x in mycol.find():
print(x)
'''
#删除集合
mycol.drop()