目录:

  一、MongoDB 简介

  二、MongoDB 安装部署

  三、MongoDB的 增删改查

  四、MongoDB的 数据类型

  五、MongoDB的 $关键字 及 $修改器 $set $inc $push $pull $pop

 

五、MongoDB 的 $关键字 及 $修改器 $set $inc $push $pull $pop
MongoDB:

    启动Mongodb
    mongod --dbpath "数据库目录"
    mongod --dbpath c:/data/db
    默认端口 27017

    show dbs 查看所有存在磁盘上的数据库
    show tables 查看当前数据库存在磁盘上的数据表

    use 数据库 创建数据库或切换数据库

    ######使用了不能存在的对象即创建该对象######

    数据库.表名 创建表

概念:
Mysql:
    id          name        age          duixiang                   hobby
    1        jwb        73        2            2
    2        ywb        84        1            null

MongoDB:
    [
        {
            "id":1,
            "name":"jwb",
            "age":73,
            "hobby":["ywb","lwb"],
            "duixiang":{
                "id":2,
                "name":"ywb",
                "age":84
            }
        },
        {
        
            "id":2,
            "name":"ywb",
            "age":84,
            "duixiang":{
                "id":1,
                "name":"jwb",
                "age":73,
            }
        }
    ]

mysql            mongodb    
数据库             数据库
表            collections
列            Field
row            documents


    
数据增删改查

增加 insert
    #db.user.insert({"id":1,"name":"jwb","age":73})

    官方推荐写法
    db.user.insertMany([{}])
    db.user.insertOne({})

查看 find 
    db.user.find()
    db.user.findOne({})

    并列条件
    db.user.find({"id":2,"age":85}) 

    或条件 $or : 
    db.user.find({$or:[{age:73},{name:"ywb"}]})

    同一个字段的 或条件 $in : 
    db.user.find({age:{$in:[73,84,86]}})

    子集检索 :
    db.user.find({what:{$in:[2,1]}})

    满足所有条件 $all : 
    db.user.find({what:{$all:[2,1,3]}})

    数学比较符:
    $gt : 大于 db.user.find({age:{$gt: 73}})
    $gte: 大于等于
    $lt : 小于
    $lte: 小于等于
    $eq : 等于 
    :也是等于

    "_id" : ObjectId("5c3e84cf1e235402547fa40c")


更新:update 修改器 $set
    #db.user.update({"age":84}, {$set:{"username":"jinjiaodawangba"}})

    官方推荐写法:
    db.user.updateOne({"name":"jwb"},{$set:{"age":99}})
    db.user.updateMany({"name":"jwb"},{$set:{"age":99}})


删除:remove / delete
    #db.user.remove({"age":85})

    官方推荐写法:
    db.user.deleteOne({"name":"jwb"})
    db.user.deleteMany({"name":"jwb"})


$修改器:
    $set : 暴力修改 
    $unset : 暴力删除字段 db.user.updateOne({"name":"ywb"},{$unset:{"hobby":1}})
    $inc : 引用增加 在原有值的基础上增加 db.user.updateMany({},{$inc:{age:1}})

array修改器:
    $push 增加元素 :db.user.updateOne({"name":"ywb"},{$push:{"hobby":"jwb"}})
    $pull 删除元素 :db.user.updateOne({"name":"ywb"},{$pull:{"hobby":"jwb"}})
    $pushAll 迭代增加 :db.user.updateOne({"name":"ywb"},{$pushAll: {"hobby":[1,2,3]}})
    $pop 删除最后一条数据/第一条 :
        最后一条 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":1}})
        第一条 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":-1}})

$ 字符:
    ["hj","tt",1,2] # {"hobby":"hj"} hj 是hobby列表中的第0个元素 就把 0 这个数据放在了 $ 中
    db.user.updateMany({hobby:"hj"},{$set:{"hobby.$":"喝酒"}})
    ###### $ 存储符合条件的元素下标索引 ######

Object操作
    db.user.updateOne({"kecheng.name":"python"},{$set:{"kecheng.price":19800}})
    db.user.updateOne({"kecheng.name":"python"},{$inc:{"kecheng.price":500}})

Array中的Object
    db.user.updateOne({"hobby.age":84},{$set:{"hobby.$.age":73}})

Object中的Array
    db.user.updateOne({"kecheng.class":15},{$set:{"kecheng.class.$":20}})




数据类型:
    ObjectID :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中的跳过选取排序:
    skip(5) 跳过五条数据
    limit(5) 只显示五条数据
    分页 skip(5).limit(5)

    sort({age:1})  正序
    sort({age:-1}) 倒序

    如果三个关键字同时出现,优先级:
    1.sort 2.skip 3.limit


pymongo:
    find_one
    insert_one
    insert_many
    update_one
    update_many
    delete_one
    delete_many

    sort("key",1)
概述

相关文章:

  • 2022-12-23
  • 2021-07-12
  • 2022-12-23
  • 2021-11-26
  • 2022-03-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-23
  • 2022-02-25
  • 2022-12-23
相关资源
相似解决方案