步骤:
- 创建mongodb的数据库连接对象
conn = pymongo.MongoClient(‘localhost’,27017) - 生成数据库对象 (setitem getitem)
db = conn.stu
db = conn[‘stu’] - 生成集合对象
myset = db.class0
myset = db[‘class0’] - 集合操作 (增删改查索引聚合)
- 关闭数据库连接
conn.close()
代码:
from pymongo import MongoClient
#创建数据库连接
conn = MongoClient('localhost',27017)
#创建数据库对象
db = conn.stu
#db = conn['stu']
#创建集合对象
myset = db.class4
myset.insert([{'name':'张国立','King':'康熙'},\
{'name':'陈道明','King':'康熙'}])
#save插入数据 可以自己设定id 当设置id已存在时,覆盖id所在文档
myset.save({'_id':1,'name':'吴奇隆','King':'四爷'})
#查找
cursor = myset.find({},{'_id':0})
print(cursor)
for i in cursor:
print(i['name'],'---',i['King'])
#显示查找结果的第一条
dic = myset.find_one({},{'_id':0})
print(dic)
#操作符使用
myset1 = db.class0
# cursor = myset1.find({'age':{'$gt':18}},{'_id':0})
# for i in cursor:
# print(i)
#获取下一条数据
# print(cursor.next())
#跳过第一条文档显示前三条文档
# for i in cursor.skip(1).limit(3):
# print(i)
#按年龄升序 名字降序排序
# for i in cursor.sort([('age',1),('name',-1)]):
# print(i)
# query = {'$or':[{'gender':'w'},{'age':{'$lt':19}}]}
# cursor = myset1.find(query,{'_id':0})
# for i in cursor:
# print(i)
#修改 @unset删除该域
# myset1.update({'name':'Jame'},{'$unset':{'tel':''}})
#同时修改多条文档 multi:Ture 表示修改所有复合条件的域
# myset1.update({'name':'Jame'},\
# {'$set':{'age':21}},multi = True)
#如果匹配文档不存在则插入
# myset.update({'name':'梁家辉'},\
# {'$set':{'King':'咸丰'}},upsert = True)
#删除操作 remove(query,multi = True)
#multi默认是true表示删除所有query过滤文档 设置为False表示只删除第一个
#只删除一个符合条件的文档
myset.remove({'King':'咸丰'},multi = False)
myset1.remove({'gender':{'$exists':False}})
#关闭连接
conn.close()