zoukankan      html  css  js  c++  java
  • 09 mongoDB基础(进阶)

    mongoDB基础

    阶段一、认识mongodb

    1、mongodb 组织数据的基本形式

    MongoDB————》数据库————》集合————》文档

    mysql:表:行和列:字段

    运用场景:如 送外卖骑手的实时信息、日志、游戏人物属性、微信附近人信息

    运用特征:实时变化的 QPS

    数据类型:每个文档以键值对的形式储存

    2、进入与退出 数据库

    进入:mongo

    退出:exit

    阶段二、库,集合操作

    1、显示所有库:shou dbs

    2、切换数据库:use 数据库名称

    3、查看所在库:db

    4、删除库:db.dropDatabase()

    5、查看当前库里面的集合:show collections

    6、创建集合:db.createCollection('student')

    7、删除集合:db.集合名称.drop()

    阶段三、数据的增删改查操作

    1、插入数据

    db.集合名称.insert(document)

    每一条数据,就是一个document,即 就是一条json

    插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId

    # 例:插入一条
    db.student.insert({name:‘shiwei',age:18})
    # 插入时加入id
    db.student.insert({_id:10,name:‘shiwei',age:18})
    # 插入多条:
    db.student.insert([
        {name:‘shiwei',sex:'male',age:18},
        {name:'张三',sex:’female',age:30 },
        {name:'李四',sex:’male',age:48 },
    ])
    2、查询数据

    db.集合名称.find()

    # 查询所有:db.student.find()
    # 查询所有、格式会缩进:db.student.find().pretty()
    # 按条件查询:
    > db.student.find({name:'zcm'})
    { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm", "age" : 22 }
    { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm", "age" : 22 }
    ​
    > db.student.find({name:'zcm'},{age:1})
    { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "age" : 22 }
    { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "age" : 22 }
    ​
    > db.student.find({name:'zcm'},{age:0})
    { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm" }
    { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm" }
    3、更新数据

    更新数据

    db.集合名称.update(

    <query>, (条件)

    <update>,

    {multi: <boolean>}

    ​ )

    # 全文档更新:
    db.stu.update({name:’shiwei’},{xx:’yy’ } )
    ​
    # 指定属性更新,通过操作符$set,有相同的属性时,只更改一条数据
    db.student.update({name:'zcm'},{$set:{age:18}})
    ​
    # 更新多条: { multi: ture }   。 (前提只能指定字段更新)
    db.student.update({name:'zcm'},{$set:{age:5}},{multi:true})
    4、删除数据

    db.集合名称. remove(

    <query>, (条件)

    <justOne>

    ​ )

    # 只是删除 一条数据
    db.student.remove({xx:'yy'},{justOne:true})
    ​
    # 删除满足条件的,所有数据:
    db.student.remove({name:'zcm'})

    阶段四、Python操作mongodb

    1、连接器(驱动)

    安装python包:pip install pymongo

    引入包pymongo:import pymongo

    建立连接并创建客户端: client= pymongo.MongoClient('127.0.0.1',27017)

    指定数据库:db=client[ 数据库名 ]

    指定集合:stu=db [ 集合名]

    2、主要方法

    insert_one

    insert_many

    update_one

    update_many

    delete_one

    delete_many

    find_one

    find

    3、例子
    import pymongo
    ​
    # 建立连接
    client = pymongo.MongoClient('127.0.0.1', 27017)
    ​
    # 获取要操作的数据库
    db = client['student']
    ​
    # 获取要操作的集合
    col = db['student']
    ​
    data = col.find()
    print(data)  # 打印出了一个对象,证明连接成功了
    # 插入一条数据
    # col.insert_one({'name': 'zcm', 'age': 22})
    # 插入多条数据
    # li = [
    #     {'nane': 'zhangsan', 'age': 30, 'sex': 'nan'},
    #     {'nane': 'baby', 'age': 18, 'sex': 'nv'},
    #     {'nane': 'dengchao', 'age': 30, 'sex': 'nan'}
    # ]
    # col.insert_many(li)
    # 更新一条数据
    # col.update_one({'name': 'zcm'}, {'$set': {'age': 3}})
    # 更新多条数据
    # col.update_many({'name':'zcm'},{'$set': {'age':18}})
    # 查询一条数据
    # find = col.find_one()
    # print(find)
    # 查询多条数据    只返回对象
    # find_d = col.find()
    # print(find_d)
    # 删除一条数据
    # col.delete_one({'name':'zcm'},{'justOne':'true'})
    # 删除多条数据
    # col.delete_many({'name':'zcm'})
  • 相关阅读:
    ZygoteInit 相关分析
    Zygote(app_process)相关分析2
    Zygote(app_process)相关分析1
    android Init 相关分析
    简明Python教程(A Byte of Python中文版)
    鸟哥的linux私房菜——第5章 首次登陆与在线求助man page
    Cmake实践(Cmake Practice)第二部分
    Cmake实践(Cmake Practice)第一部分
    鸟哥的linux私房菜——第3章 主机规划与磁盘分区
    鸟哥的linux私房菜——第1章 Linux是什么
  • 原文地址:https://www.cnblogs.com/zcmq/p/9275822.html
Copyright © 2011-2022 走看看