Python之操作mongoDB数据库

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()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值