最新公告
  • 欢迎您光临牛品源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
    • 网站公告
    • 热门标签
    • 资源专题
    • 资源存档
    • 联系我们
    牛品源码
    10年
    专注建站行业优质资源供应商
    升级SVIP
    登录 / 注册
    站长资源平台
    • 技术学习大厅
      • NET教程489
      • PHP教程429
      • C语言C++560
      • JAVA教程1742
      • Python教程447
      • 前端教程1297
      • 云计算教程465
      • 操作系统1028
      • 数据库教程923
      • 零基础视频教程14
      • WordPress教程111
        • WordPress子主题1
        • WordPress模板128
      • 其他教程104
        • CMS教程107
        • DEDECMS教程28
        • 编程办公84
    • 网站模板仓库
      • DEDECMS模板81
      • 帝国CMS模板88
      • 织梦模板源码192
      • 其它CMS模版12
      • 企业网站模板870
      • 响应式模板243
      • Discuz模板196
      • 单页模板212
      • 后台模板429
      • 模板素材243
      • 专题模板209
      • 简历模板345
    • 模板主题
      • PPT模板1832
      • 主题模板3833
      • 公司模板119
      • 动物模板41
      • 商务模板1505
      • 国外模板265
      • 科技模板169
      • 背景模板189
      • 自然模板151
      • 节日模板709
      • 行业模板718
      • 通用模板513
    • 设计学院
      • PPT模板1832
      • PSD素材3826
      • 设计素材3422
      • ppt素材645
      • ppt图表559
      • ppt特效428
      • 图片素材3138
      • 摄影剪辑34
    • 网站源码
      • 办公/软件/电脑420
      • 商城/淘客/网店264
      • 小说/新闻/博客163
      • 支付/金融/货币347
      • 电影/视频/音乐172
      • 会员/推广/交流94
      • 企业/公司/政府863
      • 亲测网站源码40
      • 小程序源码649
      • 影视网站源码15
      • 网站源码14270
      • 其它源码221
        • 汽车/车行/交通22
        • 资源/下载/技术62
        • 域名/空间/建站56
        • 个人网站27
        • 支付源码5
        • 防红源码7
    • 代码特效
      • CSS代码96
      • HTML5实例169
      • HTML编辑器24
      • css/div/h5特效230
      • 名站特效321
      • 图片特效558
      • 在线客服92
      • 常用特效986
      • 广告代码32
      • 图片代码322
    • 站长资讯
      • 云计算领域22
      • 大数据领域36
      • 网络推广156
      • 站长访谈173
      • 网站运营153
      • 搜索优化867
      • 健身养生32
      • 两性相关49
      • 其他分享55
      • 职场关系37
      • 自我提升76
      • 长点知识29
      • 新媒体运营15
    • QQ工具箱
      • QQ签名1611
      • QQ头像101
      • QQ皮肤155
      • QQ表情216
      • QQ网名4154
      • QQ说说507
      • 技术工具23
      • 学习测试16
      • 微信技巧20
      • QQ技巧25

    MongoDB基础知识笔记

    2020-06-28 大数据领域 41 已收录
    当前位置:牛品源码 > 站长资讯 > 大数据领域 > MongoDB基础知识笔记
    正文概述

    mongoDB
    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下载
    tar -zxvf mongodb-linux-x86_64-3.0.6.tgz # 解压
    mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 将解压包拷贝到指定目录
    MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:
    export PATH=/usr/local/mongodb/bin:$PATH
    创建数据库目录:
    MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
    mkdir -p /data/db
    mkdir -p /logs
    进入安装路径:
    创建mongodb.conf配置文件:vim mongodb.conf
    dbpath = /data/db #数据文件存放目录
    logpath = /logs/mongodb.log #日志文件存放目录
    port = 27017 #端口
    fork = true #以守护程序的方式启用,即在后台运行

    auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释

    bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
    命令行中运行 MongoDB 服务:
    ./mongod -f mongodb.conf
    查看端口映射检查是否启动成功:
    0
    netstat -nltp|grep mongod
    mongod命令关闭:mongod 命令的 shutdown 选项能干净的关闭 MongoDB 服务,会释放内存中MongoDB占用的内存
    ./mongod –shutdown
    kill MongoDB的pid ,直接杀死MongoDB的进程id。kill -9 pid 强制杀死,有时可能会出现错误关不掉时就可使用这种强制方式,
    但注意这种方式可能并不会马上释放内存中MongoDB占用的内存,且如果这时候有数据往MongoDB新增可能会导致数据丢失。
    注:查看pid:ps -ef | grep mongo , 结果的第二列就是pid。
    进入mongodb中:
    ./mongo
    使用admin数据库:use admin ,注意admin数据库下创建的账号权限是所有库通用的,即是全局认证的。
    创建用户:db.createUser({ user: \\\’root\\\’, pwd: \\\’root\\\’,roles: [ { role: \\\”dbOwner\\\”, db: \\\”test\\\” }] })
    这时候MongoDB的admin数据库就有了账号,启用auth=true,重启后,再连接就需要账号密码授权了。
    db.firstCollection.save({\\\”name\\\”:\\\”gaojianshuai\\\”,\\\”age\\\”:\\\”25\\\”})
    可查看是否新增成功:db.firstCollection.find({name:\\\”gaojianshuai\\\”})
    mongodb语法
    数据库:
    show dbs;//查看所有的数据库
    db;//查看当前窗口所在的数据库
    use 数据库名;//如果数据库不存在,则创建数据库,否则切换到指定数据库。
    注:show dbs执行结果没有看到test库,但是db查看当前库确是test库,因为test库中刚开始没有任何数据并且是在内存中的,有了数据后就会显示出来了(其他新创建的数据库也是如此)
    db.dropDatabase();//删除当前数据库,默认为 test,故要切换到某个数据库下进行删除

    集合:
    显式创建集合:db.createCollection(\\\”collectionName\\\”);//创建一个名为collectionName的集合,创建完成后会返回 {\\\”ok\\\”,1} json串
    隐式创建集合:db.collection2.insert({name:\\\”xiaomu\\\”,age:20});//往collection2集合中添加数据来创建集合,如果集合不存在就自动创建集合,返回:WriteResult({\\\”nInserted\\\”:1})
    show collections;//查看集合
    db.collection1.count();//统计集合collection1中的数据数量
    db.collection1.drop();//删除集合collection1
    注:mongo中支持js,可通过js操作实现批零处理,如:for(var i=0;i<1000;i++){db.collection2.insert({name:\\\”xiaomu\\\”+i,age:20+i});}
    固定集合
    固定集合指的是事先创建而且大小固定的集合。
    固定集合特性:固定集合很想环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间。一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制.
    db.createCollection(\\\”collectionName\\\”,{capped:true,size:10000,max:100});//size指定集合大小,单位为KB,max指定文档数量
    当文档数量上限时必须同时指定大小。淘汰机制只有在容量还没满时才会依据数量来工作。要是容量满了则会依据容量来工作。

    查询:

    固定条件查询:
    注:mongodb中每条数据都有一个id,用来唯一标识一条数据,id由mongo本身来维护
    db.collection1.find();//查询集合中所有的数据
    db.collection1.find({age:7});//查询年龄为7的数据
    db.collection1.find({age:7},{name:1});
    //查询年龄为7的数据,只返回name字段数据;两个大括号,前面的存查询条件,后面的存返回条件,返回条件字段1表示true,表示此字段返回,如果name后面的1改为0则表示不返回name字段,返回除name字段以外的其他字段
    注意:如果设置返回字段有为0的已经表示查询所有除了某字段以外的所有字段就不能再设置某个字段为1了,有语法冲突
    db.collection1.find({age:7,name:\\\”xiaomu\\\”},{name:1,age:1});//查询age为7,name为xiaomu的数据,返回name和age字段
    注:多条件查询此处是并列,但是如果多个条件都相同的话如{name:\\\”xiaoli\\\”,name:\\\”xioamu\\\”}则会只查询后一个条件的数据
    db.collection1.find({},{age:1});//查询所有的数据,返回age字段
    db.collection1.findOne();//查询集合的第一条数据
    筛选查询:
    gt(greater than)大于;lt(less than)小于;gte(greater then equal)大于等于;lte(less than equal)小于等于;ne(not equal)不等于
    db.collection1.find({age:{$gt:10}});//查询age大于10的数据
    包含
    db.collection1.find({price:{$all:[1,2]}});//(包含。。并且包含。。)此处price是个数组,此方法查询所有price包含1和2的数据
    db.collection1.find({price:{$in:[1,2]}});//(包含。。或者包含。。)查询price中含有1或者2的数据
    db.collection1.find({price:{$nin:[1,2]}});//(不包含。。并且不包含。。)查询price中不含有1并且不含有2的数据
    db.collection1.find({$or:[{name:\\\”xiaomu\\\”},{price:{$in:[3]}}]});//(。。或者。。)查询name为xiaomu或者价格包含3的数据
    db.collection1.find({$nor:[{name:\\\”xiaomu\\\”},{name:\\\”xiaoli\\\”}]});//(既不也不)查询name不为xiaomu或者name不为xiaoli的数据
    分页:
    db.collection1.find().skip(0).limit(10);//查询从0条开始,查询10条,skip()方法默认参数为 0 ,表示跳过的条数
    排序:
    db.collection1.find().sort({age:1});//按照年龄升序排序,为-1的话表示降序排序
    存在
    db.c2.find({hight:{$exists:1}});//查询存在hight字段的数据

    删除:
    db.collection1.remove({age:7,name:\\\”xiaomu\\\”});//删除age为7,name为xiaomu的数据

    更新
    db.c3.update({age:12},{name:\\\”xiaoxiao\\\”});//本意为将age为12的数据中的name更新为xiaoxiao,但是实际效果是只是将age为12的满足条件数据的第一条整条数据覆盖为name:“xiaoxiao”
    db.c3.update({age:15},{$set:{name:\\\”xiaolili\\\”}});//本意为将age为15的数据的name修改为xiaolili,但是实际效果是只修改了查询到的第一条数据
    db.c3.update({age:15},{$set:{name:\\\”xiaolili\\\”}},1,1);//将age为15的数据的name修改为xiaolili
    总共4个参数,第四个参数表示有多条数据符合筛选条件的话是否全部更改,默认为0只改第一条,改为1后表示全部更改
    第3个参数1表示如果没有符合条件的记录是否新增一条记录,1表示新增,0表示不新增
    如:db.c3.update({age:21},{$set:{name:\\\”xiaolili\\\”}},1,1);//如果不存在age为21的数据则增加一条,增加的数据为{age:12,name:”xiaolili”}
    db.c3.update({age:12},{name:\\\”xiaoxiao\\\”},{$inc:{age:-2}},1,1);//$inc表示使某个键值加减指定的数值,此处表示将name为xiaoxiao的数据的age字段的值减2
    db.c3.update({age:12},{name:\\\”xiaoxiao\\\”},{$inc:{age:1}},0,1);//$unset用来删除某个键,此处表示删除name为xiaoxiao的数据的age字段

    索引
    mongo默认为每条数据的_id字段建索引
    db.c3.ensureIndex({age:1});//为age字段建普通索引
    db.c3.dropIndex({age:1});//删除age字段的索引
    db.c3.ensureIndex({age:1},{unique:true});//为age字段建唯一索引,在为字段建了唯一索引后就不能再添加相同值的记录了

    数据备份与恢复
    备份:mongodump -h dbhost -d dbname -o dbdirectory
    -h:mongodb所在服务器地址,如127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
    -d:需要备份的数据库实例,如:test
    -o:需要备份的数据存放的位置,例如:d:data (如果没有则自动创建)
    恢复:mongorestore -h dbhost -d dbname -directoryperdb dbdirectory
    -h:mongodb所在服务器地址,如127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
    -d:需要备份的数据库实例,如:test,此名称也可以和备份的时候不一样
    -directoryperdb :备份数据所在的位置,例如:d:data
    注意:恢复时要在退出mongo命令行状态下执行

    导入与导出
    导出:mongoexport -h dbhost -d dbname -c collectionName -o output
    -h:数据库地址
    -d:指明使用的库
    -c:指明要导出的集合
    -o:指明要导出的文件路径加文件名,文件名可以是txt、word、excel等多种文件格式
    导入:mongoimport -h dbhost -d dbname -c collectionname 文件的地址路径
    -h:数据库地址
    -d:指明使用的库
    -c:指明要导出的集合
    注意:导入时要在退出mongo命令行状态下执行,导入导出与数据备份和恢复相似

    RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
    牛品源码 » MongoDB基础知识笔记

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    站壳网
    一个高级程序员模板开发平台

    普通

    分享到:
    上一篇
    阿里云叔同:以容器为代表的云原生技术,已经成为释放云价值的最短路径
    下一篇
    从工作经历和理论看工业互联网的发展

    相关推荐

    DataWorks百问百答33:数据同步怎么配置ODPS分区?

    DataWorks百问百答33:数据同步怎么配置ODPS分区?

    玩归玩,闹归闹,别拿抽奖开玩笑

    玩归玩,闹归闹,别拿抽奖开玩笑

    Spring Security 基于数据库的认证

    Spring Security 基于数据库的认证

    Forrester咨询:蚂蚁金融科技帮助金融机构3年节省1个亿

    Forrester咨询:蚂蚁金融科技帮助金融机构3年节省1个亿

    发表评论 取消回复

    站长交流群

    互联网站长技术交流群
    共同学习,共同进步,共同成长!

    QQ交流群
    标签
    MYSQL数据库 (923) nosql数据库 (923) Oracle数据库技术 (923) PHP源码 (2111) PHP源码下载 (2108) ppt免费下载 (1832) ppt图片 (1832) ppt文档下载 (1832) PPT模板 (1833) ppt素材 (1832) ppt背景 (1850) psd分层 (3826) PSD图片下载 (3826) psd源文件 (3826) PSD素材 (3826) PSD素材下载 (3826) PSD设计素材 (3826) windows从入门到精通 (1028) [db:标签] (17158) 企业ppt (1832) 企业模板下载 (1582) 企业源码 (1324) 企业网站模板 (1324) 公司网站模板 (1327) 前端开发教程 (1297) 办公ppt (1832) 图片素材 (3143) 操作系统 (1028) 操作系统技术 (1028) 操作系统教程 (1028) 数据库 (985) 服务器教程 (1028) 模板 (1029) 移动网页前端开发 (1297) 网站前端开发 (1297) 网站模板下载 (1582) 网站源码 (2178) 网站源码现下载 (2108) 网页前端开发教程 (1297) 背景图片下载 (3138) 设计图片素材 (6560) 设计素材 (3424) 设计素材下载 (3422) 设计素材免费下载 (3422) 高清图片下载 (3138)
    • 265会员总数(位)
    • 66769资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1886稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    牛品源码

    加入本站会员
    开启尊贵特权之体验 本站资源支持会员下载专享,普通注册会员只能原价购买资源或者限制免费下载次数,付费会员所有资源可无限下载。并可享受资源折扣或者免费下载。

    本站导航
    友情链接
    开通会员享受折扣优惠
    © 2025 All rights reserved 京ICP备18888888号 京公网安备 188888888

    • SVIP
      升级SVIP会员

      限时钜惠
      终身SVIP仅需39元

      立即开通

    • 客服
      工作时间

      工作日:9:00 - 23:00
      节假日:9:00 - 23:00

      点击咨询客服

    • QQ群

    • 建站

    • 优化

    • 全屏

    牛品源码
    • 登录
    • 注册
    忘记密码?
    牛品源码
    • 技术学习大厅 ►
      • NET教程489
      • PHP教程429
      • C语言C++560
      • JAVA教程1742
      • Python教程447
      • 前端教程1297
      • 云计算教程465
      • 操作系统1028
      • 数据库教程923
      • 零基础视频教程14
      • WordPress教程111 ►
        • WordPress子主题1
        • WordPress模板128
      • 其他教程104 ►
        • CMS教程107
        • DEDECMS教程28
        • 编程办公84
    • 网站模板仓库 ►
      • DEDECMS模板81
      • 帝国CMS模板88
      • 织梦模板源码192
      • 其它CMS模版12
      • 企业网站模板870
      • 响应式模板243
      • Discuz模板196
      • 单页模板212
      • 后台模板429
      • 模板素材243
      • 专题模板209
      • 简历模板345
    • 模板主题 ►
      • PPT模板1832
      • 主题模板3833
      • 公司模板119
      • 动物模板41
      • 商务模板1505
      • 国外模板265
      • 科技模板169
      • 背景模板189
      • 自然模板151
      • 节日模板709
      • 行业模板718
      • 通用模板513
    • 设计学院 ►
      • PPT模板1832
      • PSD素材3826
      • 设计素材3422
      • ppt素材645
      • ppt图表559
      • ppt特效428
      • 图片素材3138
      • 摄影剪辑34
    • 网站源码 ►
      • 办公/软件/电脑420
      • 商城/淘客/网店264
      • 小说/新闻/博客163
      • 支付/金融/货币347
      • 电影/视频/音乐172
      • 会员/推广/交流94
      • 企业/公司/政府863
      • 亲测网站源码40
      • 小程序源码649
      • 影视网站源码15
      • 网站源码14270
      • 其它源码221 ►
        • 汽车/车行/交通22
        • 资源/下载/技术62
        • 域名/空间/建站56
        • 个人网站27
        • 支付源码5
        • 防红源码7
    • 代码特效 ►
      • CSS代码96
      • HTML5实例169
      • HTML编辑器24
      • css/div/h5特效230
      • 名站特效321
      • 图片特效558
      • 在线客服92
      • 常用特效986
      • 广告代码32
      • 图片代码322
    • 站长资讯 ►
      • 云计算领域22
      • 大数据领域36
      • 网络推广156
      • 站长访谈173
      • 网站运营153
      • 搜索优化867
      • 健身养生32
      • 两性相关49
      • 其他分享55
      • 职场关系37
      • 自我提升76
      • 长点知识29
      • 新媒体运营15
    • QQ工具箱 ►
      • QQ签名1611
      • QQ头像101
      • QQ皮肤155
      • QQ表情216
      • QQ网名4154
      • QQ说说507
      • 技术工具23
      • 学习测试16
      • 微信技巧20
      • QQ技巧25
    2025年5月
    一 二 三 四 五 六 日
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
    « 8月    
    ×
    • 首页

    • 签到

    • 切换

    • 客服

      牛品源码公告:

      终身SVIP限时39元 会员专享优质资源 内容持续上新
      本站资源支持会员下载专享,普通注册会员只能原价购买资源或者限制免费下载次数,付费会员所有资源可无限下载。并可享受资源折扣或者免费下载。
      声明:本站发布的文章及附件仅限用于学习和研究目的.请勿用于商业或非法用途,否则后果请用户自负。 本站所有资源不带技术支持,下载资源请24小时内删除,如用于违法用途,或者商业用途,一律使用者承担。