mongodb是基于分布式文件存储的nosql(非关系型)数据库
虽说是nosqldb, but mongodb 其中的文档可以是关系型的
在mongodb中, 表为集合, 里面的数据为文档; 文档本质就是一条调JSON数据
进入mongodb: mongo
退出mongodb: exit
库操作
显示库: show dbs
选择或者创建: use llsdb
# 不管该库是否存在,都会use进入, 如何该库不存在, use进去不存入数据退出时,该库 不会被创建. 所以创建库就use再写入数据.
查看所在库: db
删除库: db.dropDatabase()
,要先use进入库才删除.
集合操作
显示集合: show collections
创建集合: db.createCollection('llscol' [,options])
删除集合: db.llscol.drop()
数据的CURD
插入数据: db.llscol.insert({name: 'lls', age: 18})
插入多条数据:
db.llscol.insert([ {name: 'lls1', age: 18}, {name: 'lls2', age: 20} ])
查看数据: db.llscol.find()
带格式的数据: db.llscol.find().pretty()
全文档更新数据: db.llscol.update({name: 'haha'}, {xx: 'yy'})
# {name: ‘hha'}是条件, 用于匹配项来更新.
指定字段更新 $set,{multi: true}: db.llscol.update({name: 'lls1'}, {$set: {name: 'xxx', age: 666}})
# 前面的{}为条件, 只会更新匹配到的第一个项.
更新多条 {multi: true}: db.llscol.update({name: 'lls1'}, {$set: {name: 'lls666'}}, {multi: true})
# 在全文档匹配到对应项后更新每一条JSON中的对应的键值对.
删除数据: db.llscol.remove({name: 'lls1'})
# remove 所以包含{name: ‘lls1'}的json.
只删除一条 {justOne: true}: db.llscol.remove({name: 'lls1'}, {justOne: true})
# 删除匹配到的第一项.
python操作mongodb
import pymongo client = pymongo.MongoClient('192.168.0.104', 27017) # 连接并建立client. db = client['llsdb'] # select database_name db = client.llsdb stu = db['student'] # select table_name stu = db.student stu.insert_one({'name': 'lls'}) stu.insert_many([ {'name1': 'lls1', 'age': 18}, {'name2': 'lls2', 'age': 20}, {'name3': 'lls3', 'age': 30} ]) stu.update_one({'name1': 'lls1'}, {'$set': {'age': 20}}) stu.update_many({'name2': 'lls2'}, {'$set': {'age': 90}}) print(stu.find_one({'name2': 'lls2'})) # 查询无args的第一行,或匹配到的第一个行. content_find = stu.find({}) # 空字典表示查询所有. print(content_find) for i in content_find: print(i) print(stu.delete_many({'name': 'lls'}).deleted_count) print(stu.delete_many({}).deleted_count) """ 方法如下: insert_one, insert_many, update_one, update_many, delete_one, delete_many, find_one, find. """
本文分享Mongodb基本操作与Python连接并操作mongodb的基础方法非常基础但也是日常工作中的必知必会的知识点,如果你想了解更多Mongodb基本操作的相关内容请查看下面相关链接
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com