美文网首页
python爬虫之mongo的学习使用

python爬虫之mongo的学习使用

作者: Pickupthesmokes | 来源:发表于2018-12-29 23:28 被阅读0次

    1.启动等命令

    """
    sudo service mongod|mongodb start
    sudo service mongod|mongodb stop
    sudo service mongod|mongodb restart
    """

    2.设置配置文件

    """
    mongod.conf
    可以设置数据的存储路径|设置log日志的存储路径|设置端口号
    |设置ip|开启权限....
    """

    3.启动mongo客户端:

    """
    mongo
    """

    4.关于数据库的基本命令

    查看当前所在数据库
    db

    查看所有的数据库
    show dbs

    切换和常见数据库
    use dbname

    删除数据库(要删除哪个就先切换到哪个数据库下)
    db.dropDatabase()

    查看数据库的信息
    db.stats()

    5.创建集合

    非固定大小的集合
    db.createCollection('集合名称')

    固定大小的集合(当集合存满时,新的数据会覆盖之前的数据)
    db.createCollection(
    '集合名称',
    {
    capped:true,
    size:指定集合的大小(单位是字节)
    max:指定集合中能存储的最大文档的数量
    }
    )
    size的优先级更高

    查看集合
    show collections

    删除集合
    db.集合名称.drop()

    6.关于增删改查的操作

    插入数据(单条)
    db.集合名称.insert({'key':'value'})

    插入数据(多条)
    db.集合名称.insert(
    [
    {'key':'value'},
    {'key':'value'}
    ]
    )

    插入数据时如果没有指定_id会帮您自动是生成一个,
    也可以自己指定,_id是一个主键也是一个索引

    7.更新数据

    update

    全文档更新(由一个新的文档替换之前的文档,_id不变)
    db.集合名称.update(
    {'key':'value'} 查询条件
    {'newkey':'newvalue'} 新的文档
    {
    upsert:默认情况下为false,要更新的文档不存在,不会插入一条新数据,
    为true则相反
    multi:默认为false,只跟新查找到的第一条,为true表示更新所有
    }
    )

    局部更新
    db.集合名称.update(
    {'key': 'value'} 查询条件
    {
    $set:{'key':'newValue'}
    }
    )

    save:会根据_id这个字段去集合下查找,如果_id存在,
    则进行全文档更新,如果_id不存在,则插入一条新数据
    db.集合名称.save(
    {_id:'','key':'value',....}
    )

    8.格式化输出

    db.集合名称.find().pretty()

    9.删除数据

    删除多条
    db.集合名称.remove(
    {'key':'value'} 条件
    )

    删除单条
    db.集合名称.remove(
    {'key':'value'}, 条件
    1 表示的不是数量,表示的是ture
    )

    10.查询

    db.集合名称.find() 查询所有
    db.集合名称.find(
    {'key':'value'} 条件
    )
    db.集合名称.findOne(
    {'key':'value'} 条件
    )

    11.比较运算符

    等于
    小于lt 小于等于lte
    大于gt 大于等于gte
    不等于ne db.集合名称.find( {'times':{gte:100}}
    )

    12.多条件查询

    db.集合名称.find(
    {
    'times':{$gt:100},
    'actors':'李连杰',
    }
    )

    逻辑或or db.movie.find( {or:
    [
    {times:{$gt:100}},
    {'actors':'李连杰'}
    ]
    }
    )

    逻辑或or和and同时使用 db.movie.find( {or:
    [
    {'times':{$gt:100}},
    {'actors':'李连杰'}
    ],
    'title':'少林寺'
    }
    )

    13.范围运算符

    in:在..范围nin:不在...范围

    db.movie.find(
    {
    times:{$in:[100,120]}
    }
    )

    14.使用正则查询

    db.集合名称.find(
    {
    'key':/^正则表达式/
    }
    )

    db.集合名称.find(
    {
    'key':{$regex:'正则表达式'}
    }
    )

    15. $type:只返回符合数据类型的文档

    db.集合名称.find(
    {
    'key':{$type:'数据类型'}
    }
    )

    16.limit:限制返回

    17.skip:跳过指点的条数

    db.集合名称.find().limit(num).skip(num)
    注意:limit和skip先后顺序不影响结果

    18.sort:进行排序 1:升序 -1:降序

    db.集合名称.find().sort({'key':方向(1 or -1),'key2':方向(1 or -1)})

    19.distinct:实现去重

    db.集合名称.distinct(
    '去重字段',
    {'条件'}
    )

    20.project(投影):可以选择查询结果中,数据的展示和隐藏

    21.表示隐藏,1显示

    db.集合名称.find(
    {'条件'},
    {'key':1}
    )

    22.假如再设置要显示的字段时,第一个字段设置为1,只展示

    23.这一个其他都不展示,反之,只隐藏当前设置的字段,其他的字段都会展示粗来

    24.count:统计文档的个数

    db.集合名称.count(
    {条件}
    )

    db.集合名称.find({条件}).count()

    25.mongodb中的聚合操作,主要是处理数据(求和,平均值),将处理后的数据返回

    """
    $group:将集合中的文档分组,可用于统计结果。

    $project:修改输入文档的结构。可以用来重命名、增加或
    删除域,也可以用于创建计算结果以及嵌套文档。

    match:用于过滤数据,只输出符合条件的文档。match使
    用MongoDB的标准查询操作。

    $limit:用来限制MongoDB聚合管道返回的文档数。

    $skip:在聚合管道中跳过指定数量的文档,并返回余下的文
    档。

    $unwind:将文档中的某一个数组类型字段拆分成多条,每条
    包含数组中的一个值。

    $sort:将输入文档排序后输出。
    """

    相关文章

      网友评论

          本文标题:python爬虫之mongo的学习使用

          本文链接:https://www.haomeiwen.com/subject/ejsmlqtx.html