zoukankan      html  css  js  c++  java
  • mongodb

    MongoDB:
        数据库,nosql
        
        win:安装,设置环境变量
        默认端口:27017
        创建 C:datadb
        
        [{
            id:1
            name:"蔡文姬"
            age: 16
            gender:""
        },
        {
            id:1
            name:"蔡文姬"
            age: 16
            sex:["","girl","老阿姨"]
            other:{
                hobby:["","boy","小哥哥"]
            }
        }]
        
        *使用了不存在的对象即创建该对象
        *不存在关系链接
        
        mongod  开启服务端
        mongo    客户端连接
        
        
        db                查看当前所在库
        show dbs         查看库
        use SS2DAY04     创建并进入库,内存中,要写数据才行,没有数据,不存在物理磁盘中
        show tables     查看表
        db.users        在当前库中创建表users    
        db.users.insert({name:"蔡文姬",age:16})        写入数据
        db.users.insert({name:"虞姬",age:21,gender:""})
        db.users.find()        查询
        db.users.update()    更新,设定:field
        db.users.update({"name":"蔡文姬"},{$set:{"gender":""}})
        db.users.remove({})        没有条件就删除所有的数据
        db.users.remove({"age":21})    
        
        插入:
            db.users.insert({name:"蔡文姬",age:16}) # 建议不要使用 不推荐使用
        查询:
            db.users.find()
        更新:
            db.users.update({"name":"蔡文姬"},{$set:{"age":18}})# 建议不要使用 不推荐使用
        删除:
            db.users.remove({"age":21}) # 建议不要使用 不推荐使用
            
        
        table        Collections            表
        row            Documents            数据条目
        column        Field                字段
        
        
        
    MongoDB数据类型:
        Object ID :Documents 自生成的 _id 并且 不支持转换成JSON字符串
            ?:{"_id" : ObjectId("5bda5293c6c72e52ffc7e91e")}
            ObjectId:"5bda5293c6c72e52ffc7e91e" 
            0-8字节是时间戳,
            9-14字节的机器标识符,表示MongoDB实例所在机器的不同;
            15-18字节的进程id,表示相同机器的不同MongoDB进程。
            19-24字节是计数器
            
        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类型,时间戳可以秒杀一切时间类型)
    
    
    增删改查的支持方式:
        insert:
            db.users.insertMany([{"name":"金王吧"},{"name":"egon"}])
            db.users.insertOne({"name":"刘sir"})
            
        remove:
            db.users.deleteOne({"age":30})
            db.users.deleteMany({"age":30})
            
        update:
            db.users.updateOne({},{$set: {"cursors":"FullStack"}})
            db.users.updateMany({},{$set: {"cursors":"FullStack"}})
            
        find:
            db.users.find({})
            db.users.findOne({})
            
        
        
    数学比较符:
        $lt: <
        $lte: <=
        $gt: >
        $gte: >=
        $eq;== 
        : : == or = 
        
        
        
    $:
        存储满足条件的数据下标索引位置
        db.users.updateOne({"other.name":"linux","name":"银网吧"},{$set:{"other.$.score":19}})
        
        弊端:[
            [1,2,3],
            [{k:{zk:zv}},{k2:v2},{k3:v3}],
            [4,5,6],
        ]
        
    
    $关键字 查询:
        $or : db.users.find({$or:[{age:18},{name:"银网吧"}]})
        
        $and : ,
        
        $in : db.users.find({age:{$in:[18,84,73]}})
        
        $all : db.users.find({hobby:{$all:[1,2,3,4,5,6]}})
        
        
        
    
    
    $修改器 update:
    $set: 直接将字段的值设定为value
    $unset: 删除字段
    $inc: 原值增加 db.users.updateMany({name:"金王吧"},{$inc: {cursors: 1}})
        
    $array修改器:    
    $push : append(item) db.users.updateMany({name:"金王吧"},{$push: {hobby:10}})
    $pull : remove(item) db.users.updateMany({name:"金王吧"},{$pull: {hobby:10}})
    $pop : pop() db.users.updateMany({name:"金王吧"},{$pop: {hobby:-1}})  1最后一个 -1第一个
    
    
    skip limit sort
    
    limit : db.users.find({}).limit(2) 显示条目数量
    skip : db.users.find({}).skip(1) 跳过条目数量
    
    简单分页 :db.users.find({}).limit(当前页码*每页条目).skip(每页条目)
    
    sort :db.users.find({}).sort({ age:1 }) 1:ASC -1:DESC
    
    分页排序多重用法:
    db.users.find({}).sort({ age:-1 }).limit(2).skip(2)
    

     nosqlbooster4mongo :win端可视化连接工具

    python中操作mongodb
        pip3 install pymongo  先安装

    import pymongo
    
    # 得到一个连接对象
    mongo = pymongo.MongoClient("127.0.0.1",27017)
    # 连接到指定数据库的对象
    MONGODB = mongo["SS2DAY04"]
    
    #查:
    # result = list(MONGODB.users.find({}))
    # for item in result:
    #     print(item)
    # print(result)
    
    # result_one = MONGODB.users.find_one({})
    # print(result_one,type(result_one))
    # print(result_one.get("_id"),type(result_one.get("_id")))
    
    # 增:
    # res = MONGODB.student.insert_one({"name":"yd","nickname":"wl"})
    # print(res.inserted_id,type(res.inserted_id))
    # res = MONGODB.student.insert_many([{"name":"yd","nickname":"wl"},{"name":"wpq","nickname":"cb"},{"name":"lj","nickname":"dsb"}])
    # print(res.inserted_ids)
    
    # 删:
    # MONGODB.student.remove({})
    # MONGODB.student.delete_one({"name":"yd"})
    # MONGODB.student.delete_many({"name":"yd"})
    
    # 改:
    # MONGODB.student.update({"name":"yd"})
    # MONGODB.student.update_one({"name":"wpq"},{"$set":{"nickname":"peppa pig"}})
    # MONGODB.student.update_many({},{"$set":{"age":84}})
    
    
    # 删:
    # MONGODB.student.delete_many({})    #删除表中的所有数据
    # MONGODB.student.drop()             #删表
    
    # 分页:
    # res = MONGODB.users.find({}).sort("age",pymongo.ASCENDING).limit(2).skip(0) #正向排序
    # for i in res:
    #     print(i)
    View Code
  • 相关阅读:
    PTA L2-026 小字辈 (25分)
    Python自学-day36(前端框架--VUE)
    WebGoat教程学习(七)--XPATH 注入(XPATH-Injection)
    WebGoat教程学习(六)--日志欺骗(Log Spoofing)
    WebGoat教程学习(五)--并发(Concurrency)
    WebGoat教程学习(四)--代码质量
    WebGoat教程学习(三)--Ajax安全
    WebGoat教程学习(二)--文件权限控制
    WebGoat教程学习(一)--环境配置
    Java排错随笔
  • 原文地址:https://www.cnblogs.com/xujinjin18/p/9892437.html
Copyright © 2011-2022 走看看