flask mongodb mysql_flask基础 MongoDB

本文介绍了MongoDB的基本操作,包括数据类型、插入、删除、修改和查询。还讨论了如何在Python中使用pymongo库与MongoDB交互,进行数据库连接、查询、插入、更新和删除操作。
摘要由CSDN通过智能技术生成

MongoDB

在使用MongoDB时,有一个原则:

使用不存在的对象即创建该对象例如: user.nickname = Dragonfire

他的数据存储格式是:

[    {

ID:1,

name:jinwangba,

age:84,

hobby:[piaochang,taiguo,qiaoqun]

},

{

ID:2,

name:yinwangba,

age:73,

hobby:[keyiqusile]

},

{

ID:2,

name:yinwangba,

age:73,

hobby:[{

date:2018年10月17日,

name:"jinwangba"

},

]

}

]

关系型数据库  MongoDB:

表           table         Collections

字段      Colum        Fields

行          Row           Documents

MongoDB 之 丰富多彩的数据类型世界

首先我们要先了解一下MongoDB中有什么样的数据类型:

Object  ID :Documents 自生成的 _id

String: 字符串,必须是utf-8

Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)

Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)

Double:浮点数 (没有float类型,所有小数都是Double)

Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)

Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典

Null:空数据类型 , 一个特殊的概念,None Null

Timestamp:时间戳

Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)

先下载MongoDB数据库,

然后把MongoDB的bin目录添加进环境变量中。

打开终端cmd,输入mongod,启动数据库,这时候会抱一个错误,是说  缺少

ca3900ac75eebf4cd7abc012f205b77e.png

这时候我们在c盘中创建这么一个文件夹。就不会报错了。

重新输入mongod,启动数据库。

打开另一个终端,进入数据库。

7486fd661aae3fae96a7deb5e79c5e50.png

我们都不爱在数据库中敲代码,所以我们用MongoDB的可视化工具。NoSQLBooster for MongoDB

先链接s12day117数据库

e862073d2bc40ee403efca8be199c1e7.png

插入:

9e7a925bc0c4a0b9377b2538810fb418.png

在存入数据库的时候有一个_di字段:这个字段是mongo给我们加的,全宇宙唯一。

d92d0428bd5cce28b142d371e83acb7a.png

删除:

6bd24e72059dcde1bb86ee3bdb167b29.png

修改:

c76ee075c288aef8c1ee227c3efa56e4.png

6551072ea9bf7094f9095547e6dbaf57.png

$修改器:

$set增加或者修改字段

$unset    删除字段

$lt 小于

$gt    大于

$lte 小于等于

$gte 大于等于

$eq : 等于

60687c25990a03e8bcc3d1490d156312.png

$inc 在原有值基础上增加

499da25df7edc1e711f1a493fdb31922.png

$push 在Arrays中添加一个元素

{$push: {hobby:"养生"}} 在Hobby中添加一个“养生”

2c3c7f3038457657c5bdb67623def9d2.png

$pull 在Arrays中删除一个元素

{$pull: {hobby:"抽烟"}} 在Hobby中删除一个“抽烟”

f27d9a01c5893ba97fd235ed6f19932d.png

$pop 在Arrays中删除最后一个元素或第一个元素

0a5cb69087da371d9785c580a43fdd66.png

$ : 存储  满足前置条件列表元素的下标索引

c92b2a551f69a2ae1f49e3579125a668.png

相当于:

5501fe6d74363d89307c80b26ba76462.png

练习:

3bb1e365bea9165b9db41d778f2e9472.png

查询$关键字:

$all #满足所有元素的数据

db.user.find({myczdyy:{$all:[1,3]}})

$in    #满足其中一个元素的数据

db.user.find({myczdyy:{$in:[1,3]}})

$or #满足其中一个字段的数据

db.user.find({$or:[{name:"yinwangba"},{age:{$gt:70}}]})

limit(x):

只查询前x条数据

skip(x):

跳过多前x条数据

sort({ id:-1 }):

根据id字段进行倒序排列:-1  正序排列:1

f8750d4f29a905a67c7ac2e2d3bdc490.png

利用上面这三个可以实现分页的功能。

这些是在mongo数据库中操作。我们在python中怎么用mongo数据库

首先下载插件pymongo,python3 -m pip install pymongo

importpymongo#建立连接,mongo的默认端口是27017

mongo_client = pymongo.MongoClient(host='127.0.0.1',port=27017)#连接s12day117数据库

mongo_db = mongo_client['s12day117']#查询

res =mongo_db.user.find()print(res)for i inres:print(i)

res= mongo_db.user.find_one({'name':'yang'})print(res)#插入

res =mongo_db.chat.inset_one({})print(res,res.inserted_id)

res=mongo_db.chat.inset_many([{},{},{}])print(res,res.inserted_ids)#改

res = mongo_db.user.update_one({'name':'yang'},{'$set':{'age':888}})

res= mongo_db.user.update_many({"age":{"$gte":0}},{"$set":{"age":888}})print(res,dir(res),res.modified_count)#删除

res = mongo_db.user.delete_one({"name":"xiaozhuer"})

res=mongo_db.user.delete_many({})print(res,dir(res),res.deleted_count)

res= mongo_db.user.find_one({"name":"yang"})print(res)for index,item in enumerate(res.get('course')):if res.get('course')[index]['course_name'] == 'linux':

res.get('course')[index]['course_name'] = 'django框架'res= mongo_db.user.update_one({'name':'yang'},{'$set':res})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值