pymongo

pymongo用法
from pymongo import MongoClient 

#创建数据连接
conn = MongoClient('localhost',27017)

#创建数据库对象
db = conn.stu 

#创建集合对象
myset = db.class4 

#数据操作
# print(dir(myset))

# 插入文档
myset.insert_many([{'name':'张铁林','King':'乾隆'},{'name':'张国立','King':'康熙'}])
myset.insert_one({'name':'任贤齐','role':'令狐冲'})
myset.insert({'name':'古天乐','role':'杨过'})
myset.insert([{'name':'李若彤','role':'小龙女'},{'name':'刘亦菲','role':'王语嫣'}])
myset.save({'name':'胡军','role':'萧峰'})
myset.save({'_id':1,'name':'林志颖','role':'段誉'})

#查找操作
cursor = myset.find({'role':{'$exists':True}},{'_id':0})
print(cursor)
for i in cursor:
    print(i['name'],'--->',i['role'])

print(cursor.next()) #打印下一条文档

for i in cursor.skip(1).limit(2):
    print(i)

for i in cursor.sort([('name',1),('role',-1)]):
    print(i)

dic = {'$or':[{'role':{'$exists':False}},{'name':'古天乐'}]}
d = myset.find_one(dic)
print(d)

# 修改操作
myset.update_one({'King':{'$exists':True}},{'$set':{'name':'陈小春','King':'韦小宝'}})

myset.update_many({'King':{'$exists':True}},{'$rename':{'King':'role'}})

myset.update({'name':'张国立'},{'$set':{'name':'张卫健','role':'韦小宝'}})

myset.update({'name':'高圆圆'},{'$set':{'role':'周芷若'}},upsert=True)

# 删除操作
myset.delete_one({'name':'高圆圆'})
myset.delete_many({'role':'韦小宝'})
myset.remove({'name':'林志颖'})

#复合操作
print(myset.find_one_and_update({'role':'萧峰'},{'$set':{'name':'黄日华'}}))

#创建索引
index_name = myset.create_index('name')
print(index_name)
index_name = myset.create_index([('role',-1)])
 
#查看索引 
for i in myset.list_indexes():
     print(i)
   
#删除索引
myset.drop_index('name_1')

#删除所有索引
myset.drop_indexes()

#其他索引类型
index = myset.create_index('name',unique=True,sparse=True)

#聚合操作
l=[{'$group':{'_id':'$gender','num':{'$sum':1}}},{'$match':{'num':{'$gt':1}}}]
cursor = myset.aggregate(l)
for i in cursor:
    print(i)
    
#关闭数据库连接
conn.close()

grid_read

from pymongo import MongoClient
import gridfs 

#获取数据库对象
conn = MongoClient('localhost',27017)
db = conn.grid

#获取文件集合对象
fs = gridfs.GridFS(db)

#获取文件集
files = fs.find()

for file in files:
    #filename属性获取文件名称
    print(file.filename)
    if file.filename == './img.jpg':
        with open(file.filename,'wb') as f:
            #从数据库读取
            data = file.read()
            #写入本地
            f.write(data)
conn.close()

grid_write

from pymongo import MongoClient
import gridfs 

#获取数据库对象
conn = MongoClient('localhost',27017)
db = conn.grid

#获取文件集合对象
fs = gridfs.GridFS(db)

#将本地文件读取出来写入到数据库中
with open('img_5.jpg','rb') as f:
    fs.put(f.read(),filename='mm.jpg')

conn.close()
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值