美文网首页
mongodb数据库

mongodb数据库

作者: 宁que | 来源:发表于2018-12-30 21:18 被阅读0次
    # 启动等命令
    """
    sudo service mongod|mongodb start
    sudo service mongod|mongodb stop
    sudo service mongod|mongodb restart
    """
    # 设置配置文件 
    """
    mongod.conf
    可以设置数据的存储路径|设置log日志的存储路径|设置端口号
    |设置ip|开启权限....
    """
    # 启动mongo客户端:
    """
    mongo
    """
    '''
    #关于数据库的基本命令
    查看当前所在数据库
    db
    
    查看所有的数据库
    show dbs
    
    切换和常见数据库
    use dbname
    
    删除数据库(要删除哪个就先切换到哪个数据库下)
    db.dropDatabase()
    
    查看数据库的信息
    db.stats()
    
    #创建结合
    非固定大小的集合
    db.createCollection('集合名称')
    
    固定大小的集合(当集合存满时,新的数据会覆盖之前的数据)
    db.createCollection(
        '集合名称',
        {
            capped:true,
            size:指定集合的大小(单位是字节)
            max:指定集合中能存储的最大文档的数量
        }
    )
    size的优先级更高
    
    查看集合
    show collections
    
    删除集合
    db.集合名称.drop()
    
    ###关于增删改查的操作
    
    插入数据(单条)
    db.集合名称.insert({'key':'value'})
    
    
    插入数据(多条)
    db.集合名称.insert(
        [
            {'key':'value'},
            {'key':'value'}
        ]
    )
    
    插入数据时如果没有指定_id会帮您自动是生成一个,\
    也可以自己指定,_id是一个主键也是一个索引
    
    #####更新数据
    #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',....}
    )
    
    ##格式化输出
    db.集合名称.find().pretty()
    
    ##删除数据
    
    删除多条
    db.集合名称.remove(
        {'key':'value'} 条件
    )
    
    删除单条
    db.集合名称.remove(
        {'key':'value'}, 条件
        1 表示的不是数量,表示的是ture
    )
    
    ### 查询
    db.集合名称.find()  查询所有
    db.集合名称.find(
        {'key':'value'} 条件
    )
    db.集合名称.findOne(
        {'key':'value'} 条件
    )
    
    
    #比较运算符
    
    #等于
    #小于$lt
    #小于等于$lte
    #大于$gt
    #大于等于$gte
    #不等于$ne
    db.集合名称.find(
        {'times':{$gte:100}}
    )
    
    多条件查询
    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':'少林寺'
        }
    )
    
    #范围运算符
    $in:在..范围 $nin:不在...范围
    
    db.movie.find(
        {
            times:{$in:[100,120]}
        }
    )
    
    #使用正则查询
    db.集合名称.find(
        {
            'key':/^正则表达式/
        }
    )
    
    db.集合名称.find(
        {
            'key':{$regex:'正则表达式'}
        }
    )
    
    ## $type:只返回符合数据类型的文档
    db.集合名称.find(
        {
            'key':{$type:'数据类型'}
        }
    )
    
    #limit:限制返回
    #skip:跳过指点的条数
    db.集合名称.find().limit(num).skip(num)
    注意:limit和skip先后顺序不影响结果
    
    #sort:进行排序 1:升序 -1:降序
    db.集合名称.find().sort({'key':方向(1 or -1),'key2':方向(1 or -1)})
    
    #distinct:实现去重
    db.集合名称.distinct(
        '去重字段',
        {'条件'}
    )
    
    #project(投影):可以选择查询结果中,数据的展示和隐藏
    #0表示隐藏,1显示
    db.集合名称.find(
        {'条件'},
        {'key':1}
    )
    # 假如再设置要显示的字段时,第一个字段设置为1,只展示
    # 这一个其他都不展示,反之,只隐藏当前设置的字段,其他的字段
    # 都会展示粗来
    
    
    #count:统计文档的个数
    db.集合名称.count(
        {条件}
    )
    
    db.集合名称.find({条件}).count()
    '''
    
    # mongodb中的聚合操作,主要是处理数据(求和,平均值),
    # 将处理后的数据返回
    """
    $group:将集合中的文档分组,可用于统计结果。
    
    $project:修改输入文档的结构。可以用来重命名、增加或
    删除域,也可以用于创建计算结果以及嵌套文档。
    
    $match:用于过滤数据,只输出符合条件的文档。$match使
    用MongoDB的标准查询操作。
    
    $limit:用来限制MongoDB聚合管道返回的文档数。
    
    $skip:在聚合管道中跳过指定数量的文档,并返回余下的文
    档。
    
    $unwind:将文档中的某一个数组类型字段拆分成多条,每条
    包含数组中的一个值。
    
    $sort:将输入文档排序后输出。
    """
    
    

    相关文章

      网友评论

          本文标题:mongodb数据库

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