09 mongoDB基础(进阶)
阶段一、认识mongodb
1、mongodb 组织数据的基本形式
MongoDB————》数据库————》集合————》文档
mysql:表:行和列:字段
运用场景:如 送外卖骑手的实时信息、日志、游戏人物属性、微信附近人信息
运用特征:实时变化的 QPS
数据类型:每个文档以键值对的形式储存
2、进入与退出 数据库
进入:mongo
退出:exit
阶段二、库,集合操作
1、显示所有库:shou dbs
2、切换数据库:use 数据库名称
3、查看所在库:db
4、删除库:db.dropDatabase()
5、查看当前库里面的集合:show collections
6、创建集合:db.createCollection('student')
7、删除集合:db.集合名称.drop()
阶段三、数据的增删改查操作
1、插入数据
db.集合名称.insert(document)
每一条数据,就是一个document,即 就是一条json
插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId
# 例:插入一条 db.student.insert({name:‘shiwei',age:18}) # 插入时加入id db.student.insert({_id:10,name:‘shiwei',age:18}) # 插入多条: db.student.insert([ {name:‘shiwei',sex:'male',age:18}, {name:'张三',sex:’female',age:30 }, {name:'李四',sex:’male',age:48 }, ])
2、查询数据
db.集合名称.find()
# 查询所有:db.student.find() # 查询所有、格式会缩进:db.student.find().pretty() # 按条件查询: > db.student.find({name:'zcm'}) { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm", "age" : 22 } { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm", "age" : 22 } > db.student.find({name:'zcm'},{age:1}) { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "age" : 22 } { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "age" : 22 } > db.student.find({name:'zcm'},{age:0}) { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm" } { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm" }
3、更新数据
更新数据
db.集合名称.update(
<query>, (条件)
<update>,
{multi: <boolean>}
)
# 全文档更新: db.stu.update({name:’shiwei’},{xx:’yy’ } ) # 指定属性更新,通过操作符$set,有相同的属性时,只更改一条数据 db.student.update({name:'zcm'},{$set:{age:18}}) # 更新多条: { multi: ture } 。 (前提只能指定字段更新) db.student.update({name:'zcm'},{$set:{age:5}},{multi:true})
4、删除数据
db.集合名称. remove(
<query>, (条件)
<justOne>
)
# 只是删除 一条数据 db.student.remove({xx:'yy'},{justOne:true}) # 删除满足条件的,所有数据: db.student.remove({name:'zcm'})
阶段四、Python操作mongodb
1、连接器(驱动)
安装python包:pip install pymongo
引入包pymongo:import pymongo
建立连接并创建客户端: client= pymongo.MongoClient('127.0.0.1',27017)
指定数据库:db=client[ 数据库名 ]
指定集合:stu=db [ 集合名]
2、主要方法
insert_one
insert_many
update_one
update_many
delete_one
delete_many
find_one
find
3、例子
import pymongo # 建立连接 client = pymongo.MongoClient('127.0.0.1', 27017) # 获取要操作的数据库 db = client['student'] # 获取要操作的集合 col = db['student'] data = col.find() print(data) # 打印出了一个对象,证明连接成功了 # 插入一条数据 # col.insert_one({'name': 'zcm', 'age': 22}) # 插入多条数据 # li = [ # {'nane': 'zhangsan', 'age': 30, 'sex': 'nan'}, # {'nane': 'baby', 'age': 18, 'sex': 'nv'}, # {'nane': 'dengchao', 'age': 30, 'sex': 'nan'} # ] # col.insert_many(li) # 更新一条数据 # col.update_one({'name': 'zcm'}, {'$set': {'age': 3}}) # 更新多条数据 # col.update_many({'name':'zcm'},{'$set': {'age':18}}) # 查询一条数据 # find = col.find_one() # print(find) # 查询多条数据 只返回对象 # find_d = col.find() # print(find_d) # 删除一条数据 # col.delete_one({'name':'zcm'},{'justOne':'true'}) # 删除多条数据 # col.delete_many({'name':'zcm'})