MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
显示所有数据库 show dbs 切换数据库(如果要切换的数据库不存在则创建) use 数据库名 在数据库中增加集合(表) db.表名.insert(数据) 删除数据库 db.dropDatebase()
显示该数据库中的所有集合 show tables; 删除数据库中的集合 db.表名.drop()
注意如果没有指定_id则默认ObjectId,_id不能重复,且在插入后不可变
插入单条
user0={ "name":"ys", "age":29, 'hobbies':['game','book','match'], 'addr':{ 'country':'China', 'city':'HN' } } use test db.user.insert(user0) db.user.find()插入多条
user1={ "_id":1, "name":"ys", "age":29, 'hobbies':['book','game','match'], 'addr':{ 'country':'China', 'city':'HN' } } user2={ "_id":2, "name":"ymt", "age":29, 'hobbies':['music','book','TV'], 'addr':{ 'country':'China', 'city':'HN' } } user3={ "_id":3, "name":"yyh", "age":3, 'hobbies':['game','paly','TV'], 'addr':{ 'country':'China', 'city':'HN' } } user4={ "_id":4, "name":"yzm", "age":1, 'hobbies':['sleep','milk','play'], 'addr':{ 'country':'China', 'city':'HN' } } user5={ "_id":5, "name":"yzt", "age":1, 'hobbies':['sleep','milk','play'], 'addr':{ 'country':'China', 'city':'HN' } } db.user.insertMany([user1,user2,user3,user4,user5]) db.user.find()通常文档只会一部分需要更新。可以使用原子性的更新修改器。指定对文档中的某些字段进行更新。更新修改器是种特殊的键,用来指定复杂的更新操作,比如修改增加或者删除。
# 1 update user set name="yyh" where id = 3; db.user.update({"_id":3},{"$set":{"name":"yyh"}}) # 2 没有匹配成功则新增一条 {"upsert":true} db.user.update({"_id":6},{"$set":{"name":"ycy","age":63}},{"upsert":true}) # 3 默认只改匹配成功的第一条 # {"multi":true} 改多条 db.user.update({"name":"ys"},{"$set":{"name":"ystest"}}) db.user.update({"name":"ys"},{"$set":{"name":"ys1111111"}},{"multi":true}) # 4 修改内嵌文档 (字典) db.user.update({"name":"ys1111111"},{"$set":{"addr.city":"HNLH"}}) # 5 修改内嵌文档(列表) db.user.update({"name":"ys1111111"},{"$set":{"hobbies.2":"TV"}}) # 6 删除ys1111111的爱好 $unset db.user.update({"name":"ys1111111"},{"$unset":{"hobbies":""}})在这里我们来看一下Python3下MongoDB的存储操作,在开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库。 pip install pymongo
连接MongoDB
import pymongo client = pymongo.MongoClient(host='localhost', port=27017) # 给客户端指定要操作的是哪个数据库 这里是test数据库 db = client.test # 指定数据库后,选择数据库中要操作的表 collection = db.user # 插入数据 info= { '_id': '10', 'name': 'ycy', 'age': 63 } result = collection.insert_one(info)