MongoDB的基本使用方法

MongoDB是啥:数据库,nosql(非关系型|缓存型)

    场景:解决大规模数据集合多重数据种类

下载地址:https://www.mongodb.com/download-center
安装教程:https://www.cnblogs.com/keyi/p/10984514.html

测试服务端是否启动: 
    启动客户端: 安装目录\Server\4.0\bin\    mongo 回车
    手动启动服务端:安装目录\Server\4.0\bin\   mongod 回车
        port=27017    默认端口
        mongodb://127.0.0.1:27017    协议+IP+端口

指定数据存储目录: 需要指定一次
    mongod --dbpath c:\data\db    db目录要手动创建
环境变量:为了在任意盘符下去启动客户端和服务端  mongod服务端|mongo客户端
    我的电脑->属性->高级配置->环境变量-》 + key:value

开启客户端: mongo 回车

    UI工具软件: 收费(下载+缴费)
    原生命令行(shell):    cmd->mongo回车    git bash - > mongo回车     webstrom->dos/linux
    nodejs: 安装mongodb的包(客户端)

和mysql对比

名词比较:
    mysql                        mongoDb

    database(库)            database(库)
    table(表)                   collection(集合)
    row(一条数据)          document(文档)
    column(字段)            field(区域)
    ...

存储方式:
    mysql 二维表
    MongoDB json
mongodb命令行操作方式:  声明式 | obj.api()

库操作:

    查: show dbs
        db 查看当前库
    建:    use 库名       没有建,有就切换
集合(表)操作:
    建:db.createCollection('表名',{配置})
        配置:{size:文件大小,capped:true,max:条数|文档数} capped定量
        db.表(集合).isCapped() 返回 true/false 是否是定量
    查:show collections / db.getCollectionNames()
    删:db.表|集合.drop()
文档(row)操作:
    增:
        db.集合.save({}) / db.集合.insert({})  添加一条
        db.insertOne({})

        db.集合.save([{},{}]) / db.集合.insert([{},{}]) 多条
        insert  不会替换相同ID    save会

    删:
        db.集合.deleteOne({要删数据条件描述}) db.集合.remove({},true)  一条
        db.集合.remove({要删数据条件描述}) 多条
        db.集合.remove({}) 清空表
    改:
        db.集合.udpate({查询条件},{替换条件},插入bl,全替换bl)
        替换后的:
            {$set:{数据},$inc:{age:1}}
    查:
        所有:db.集合.find(条件)
        条数: db.集合.find().count()
        去重:db.集合.distinct(key)

        条件
            {age:22}                age == 22
            {age:{$gt:22}}        age > 22
            {age:{$lt:22}}         age < 22
            {age:{$gte:22}}      age>=22
            {age:{$lte:22}}       age<=22
            {age:{$lte:122,$gte:22}}       age<=122 && age>=22
            {$or:[{age:22},{age:122}]}    22 or 122
            {key:value,key2,value2}      value && value2
            {name:/正则/}

        db.集合.find({条件},{指定要显示列区域})
            指定要显示列区域: 区域名username:1 显示着个区域,其他不显示
            指定要显示列区域: 区域名username:0 不显示着个区域,其他显示
            _id 是默认显示

        限定:
            db.集合.find().limit(number)  限定
            db.集合.find().skip(number)    跳过
            db.集合.findOne() / db.集合.find().limit(1)  查询第一条
    排
        升:db.集合.find().sort({key:1,key2:-1})
        降:db.集合.find().sort({key:-1})


    db.集合.find({条件},{指定显示区域}).skip(10).limit(10).sort({key:1})
    db.insertOne({数据描述})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值