码迷,mamicode.com
首页 > 数据库 > 详细

flask基础 MongoDB

时间:2018-10-18 00:54:58      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:大写   ring   根据   当前日期   代码   目录   cli   ==   image   

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,启动数据库,这时候会抱一个错误,是说  缺少技术分享图片

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

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

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

技术分享图片

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

先链接s12day117数据库

技术分享图片

 插入:

技术分享图片

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

技术分享图片

删除:

技术分享图片

修改:

技术分享图片

技术分享图片

$修改器:

$set增加或者修改字段

$unset    删除字段

$lt 小于
$gt    大于
$lte 小于等于
$gte 大于等于
$eq : 等于

 技术分享图片

$inc 在原有值基础上增加
 技术分享图片

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

技术分享图片

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

技术分享图片

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

 技术分享图片

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

技术分享图片

相当于:技术分享图片

练习:

技术分享图片

查询$关键字:
        $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

 技术分享图片

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

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

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

import pymongo

# 建立连接,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 in res:
    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})

 

flask基础 MongoDB

标签:大写   ring   根据   当前日期   代码   目录   cli   ==   image   

原文地址:https://www.cnblogs.com/yb635238477/p/9807536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!