安装

  1. 下载二进制文件安装
  2. 将MongoDB的bin目录添加到path环境变量中
  3. 在MongoDB安装目录下新建db目录
    这个文件夹保存所有的数据库的信息
  4. 在MongoDB目录下创建log目录,并且在目录下创建mongodb.log文件
  5. 在MongoDB安装目录下创建文件mongodb.conf,并在文件中配置些常用信息
    #设置数据目录的路径
    dbpath = D:\MongoDB\db
    # 设置日志信息的文件路径
    logpath = D:\MongoDB\log\mongodb.log
    # 打开日志输出操作
    logappend = true
    # 不使用任何认证登录
    noauth = true
    # 设置端口
    port = 27001
    
  6. 启动MongoDB数据库
    6.1 mongod
    6.2 mongod -f D:\MongoDB\mongodb.conf
  7. 进入MongoDB数据库
    7.1 mongo
    7.2 =mongo --port=27001==
  8. 查看所有数据库
    8.1 show databases
  9. 切换数据库
    9.1 use 数据库名称

  1. 查看、创建一个集合
    10.1 查看集合 show collections;
    10.2 db.createCollection(“集合名称”)
  2. 给集合中添加数据
    11.1 db.集合名称.insert();
    范例 db.dept.insert({“deptNo”:“10”,“deptName”:“研发部”,“loc”:“E3F5”});
  3. 查看集合
    12.1 db.集合名称.find({若干条件})
    范例 db.dept.find();
    12.1 查看集合一条数据 db.集合名称.findOne();
    范例 db.dept.findOne();
    注意: 在mongodb中绝对不可能存在有查看集合结构的操作(类是关系数据中表结构)

  1. 删除数据
    13.1 删除集合中的数据
    语法 db.集合名称remove({条件});
    范例 db.dept.remove({"_id" : ObjectId(“57a20ee0ba454a1194ac44ac”)});
    13.2 删除集合
    语法 db.集合名称.drop()
    范例 db.dept.drop();
    13.3 删除数据库
    语法 db.dropDatabase();
    注意 表示删除当前所在的数据库,所以必须先切换到数据库下才能够删除次数据

  1. 更新集合
    14.1 db.集合名称.update(更新的ID,更新数据);
    范例

    var deptDate ={"deptno" : 20, "name" : "秘书部", "loc" : "宝安", "count" : 20,"avg":18
    };
    db.dept.update({"_id" : ObjectId("57a21023ba454a1194ac44ad")},deptDate);
    

数据增加

  1. 插入集合数据
    范例

    db.dept.insert([
    {"deptNo":20,"deptName":"赵云","age":18
    },
    {"deptNo":30,"deptName":"张飞","age":19
    },
    {"deptNo":50,"deptName":"关羽","age":30
    }
    ]);
    
  2. 批量插入数据
    2.1 批量数据可以采用JavaScript来实现

    for(var i = 100;i<10100;i++){db.dept.insert({"deptNo":i,"deptName":"关羽-"+i});
    }
    

数据查询操作

  1. db.集合名称.find({查询条件}[,{设置显示的字段}]);
    db.dept.find({"_id" : ObjectId("57a34adceb779c50e1e9ddd9")});
db.dept.find({"_id" : ObjectId("57a34adceb779c50e1e9ddd9")},{"_id":0,"deptName":1});

说明 字段显示为1,不显示为0,默认是1
2. 数据格式显示(漂亮显示)
db.dept.find().pretty();
需要列多的时候才有效果
3. db.depte.findOne();

关系运算

  1. Mongodb中的关系有 大于(gt),小于(gt),小于(gt),小于(lt),大于等于(gte),小于等于(gte),小于等于(gte),小于等于(lte),不等于(ne),等于(ne),等于(ne),等于(eq),
db.students.insert([{"name":"关羽","sex":"男","age":18,"score":89,"address":"中国钓鱼岛"},{"name":"赵云","sex":"男","age":20,"score":100,"address":"中国深圳"},{"name":"黄忠","sex":"男","age":23,"score":98,"address":"中国西沙群岛"},{"name":"张飞","sex":"男","age":32,"score":60,"address":"中国南海"},{"name":"陆逊","sex":"男","age":18,"score":50,"address":"中国西海"},{"name":"黄盖","sex":"男","age":30,"score":100,"address":"中国东海"},{"name":"盖聂","sex":"男","age":30,"score":78,"address":"中国渤海"},{"name":"项羽","sex":"男","age":25,"score":66,"address":"中国北京"},{"name":"天明","sex":"男","age":20,"score":52,"address":"中国上海"},{"name":"韦庄","sex":"男","age":35,"score":63,"address":"中国洞庭湖"},{"name":"刘邦","sex":"男","age":40,"score":77,"address":"中国长江"},{"name":"韩信","sex":"男","age":39,"score":99,"address":"中国黄河"},{"name":"高月","sex":"女","age":18,"score":90,"address":"中国泰山"},{"name":"端木蓉","sex":"女","age":15,"score":88,"address":"中国华山"},{"name":"秦始皇","sex":"男","age":25,"score":100,"address":"中国岳阳"}
]);
db.students.insert({"name":"小明","sex":"男","age":18,"score":89,"address":"中国钓鱼岛","course":["数学","英语","政治"]});
db.students.insert({"name":"小西","sex":"男","age":18,"score":89,"address":"中国钓鱼岛","course":["化学","数学","政治"]});
db.students.insert({"name":"寒梅","sex":"男","age":18,"score":89,"address":"中国钓鱼岛","course":["数学","英语","政治","生物"]});
db.students.insert({"name":"小磊","sex":"男","age":18,"score":89,"address":"中国钓鱼岛","course":["数学","英语","政治","化学","劳动"]});

1.1 查询姓名是张飞的信息
db.students.find({“name”:“张飞”}).pretty();
注意: 在所有关系逻辑操作中只有相等才是如上写法,其他的判断都需要嵌套子JSON
1.2 查询年龄大于20的信息
语法 db.collection.find({ “field” : {KaTeX parse error: Expected 'EOF', got '}' at position 11: gt: value }̲ } ); ==…gt":20}}).pretty();

  1. in 和 not in ($in $nin)
    2.1 语法db.collection.find( { "field" : { $in : array } } );
    2.2 范例 db.students.find({"age" : { $in : [35,20,15,18] } } );

逻辑运算符

逻辑运算符:与(and),或(and),或(and),或(or),非(not,not,not,nor)

  1. and
    查询年龄在20~30之间的信息
    语法
    范例 db.students.find({"age" : {"$gt" : 20,"$lt":30}}).pretty();
    and是最简单的操作,只需要通过,分割条件即可

  2. or
    db.students.find({"$or":[{"age" : {"$lt":50}},{"score":{"$gt":80}}]}).pretty();


  3. db.students.find({"$nor":[{"age" : {"$lt":18}},{"score":{"$gt":80}}]}).pretty();

  4. 求模
    语法 {"$mod":[数字,余数]}
    查找年龄是20的倍数
    范例 db.students.find({"age":{"$mod":[20,0]}});

  5. 数组查询
    在Mongodb中支持数组的保存,针对数组数据进行判断,可以使用 all,∗∗,∗∗all,**,**all,∗∗,∗∗size,slice∗∗,∗∗slice**,**slice∗∗,∗∗elemMatch
    范例 查询同时是参加语文和数学课程的学生

    db.students.find({"course":{"$all":["数学","英语"]}});
    db.students.find({"course":{"$size":3}});
    db.students.find({"age":18},{"course":{"$slice":1}}).pretty();
    db.students.find({"age":18},{"course":{"$slice":[1,2]}}).pretty();

    {"$slice":[1,2]} —> [1,2]表示跳过一个,返回2个

JAVA 操作MongoDB

  1. MongoDB 3 和三以前的操作方式不一样
  2. MongoDB 3以前的操作方式如下
    1. 添加Jar包
    <!--mongodb驱动-->
    <dependency><groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId><version>3.2.8</version>
    </dependency>
    <!--spring-mongodb驱动-->
    <dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId><version>1.8.2.RELEASE</version>
    </dependency>2. 设置要练级的额数据库的主机名称与端口号  MongoClient client = new MongoClient("localhost",27001);
    3. 连接数据库DB db = client.getDB("haoya");
    4. 进行数据库的用户名与密码验证db.authenticate("","".toCharArray());//获得说有的集合String[] list = db.getCollection();//获得指定的集合DBBCollection col = db.getCollection("集合名称");//设置查询条件DBObject cond = BasicDBObject();cond.put("depton",new BasicDBObject("$gte",1000).append("$lte",2000));//获得集合的全部类容//DBCursor cursor = col.find();//分页获得数据//DBCursor cursor = col.find().skip(0).limit(20);DBCursor cursor = col.find(cond).skip(0).limit(20);while(cursor.hasNext()){//得到每一行的数据DBObject obj = cursor.next();System.out.println("部门编号:" + obj.get("deptno"));}//关闭数据库client.close();

01 MongoDB入门基本操作相关推荐

  1. mongoDB 入门指南、示例

    http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html mongoDB 入门指南.示例 上一篇:简单介绍mongoDB 一.准备工作 ...

  2. 孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2

    孤荷凌寒自学python第六十三天学习mongoDB的基本操作并进行简单封装2 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第九天. 今天继续学习mongoDB的简单操作, ...

  3. 探花交友_第2章-完善个人信息与MongoDB入门

    探花交友_第2章-完善个人信息与MongoDB入门 文章目录 探花交友_第2章-完善个人信息与MongoDB入门 1.完善个人信息 1.1.图片上传 1.1.1.图片存储解决方案 1.1.2.阿里云O ...

  4. 【PaddlePaddle学习笔记】从零开始学习图像分类01——图像处理入门基础

    本系列文章链接 [PaddlePaddle学习笔记]从零开始学习图像分类01--图像处理入门基础 未完待续...... 目录 一.关于图像的几个基本概念 1. 像素及其坐标 2. 图像的四种基本类型 ...

  5. 【ReactJs+springBoot项目——租房】第6章:MongoDB入门+SpringBoot整合MongoDB+搭建微聊系统+实现微聊功能

    MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析 1.MongoDB入门 1.1 ...

  6. shell mysql版本_MySQL Shell:01 从入门到蒙圈

    原标题:MySQL Shell:01 从入门到蒙圈 春节马上到了,小伙伴们感受到氛围已经纷纷开溜.(没氛围?华仔的恭喜发财可以让你马上感受下) 中国人过年要有仪式感,包饺子,贴春联,放鞭炮.换红裤衩. ...

  7. mongodb入门的几篇文章

    2019独角兽企业重金招聘Python工程师标准>>> mongoDB 入门指南.示例 比较简洁概要的描述了mongodb中常用的操作. 8天学通MongoDB 从安装,简单的增删改 ...

  8. MongoDB 入门篇

    1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据? 数据(英语:data),是指未经过处理的原始记录. 一般而言,数据缺乏组织及分类,无法明确的表达事 ...

  9. PyMongo--非关系型数据库mongodb入门(一步一步 版)

    PyMongo--非关系型数据库mongodb入门(一步一步 版) 本文主要内容: 1.简要介绍mongodb 2.Pymongo 3.mongo shell 4.我的mongodb入门之旅 1.简要 ...

最新文章

  1. 邓白氏码查询不能用_SQL多表查询
  2. 华为欧拉系统服务器开接口,华为操作系统 euleros
  3. 计算机网络未来发展5个趋势_Gravel Bike未来发展趋势
  4. Linux 下非 root 用户安装 theano(配置 GPU)
  5. 为什么要用dubbo,dubbo和zookeeper关系,简单的dubbo搭建
  6. 重置电脑的网络配置 -- 解决防火墙问题导致的应用启动失败
  7. 怎么做SWOT分析模型PPT呢?
  8. iOS 12.0-12.1.2 完整越狱教程
  9. 移动设备管理的具体措施有哪些?(下)
  10. 再创学习生命力—破与立中成长
  11. Python 爬虫之 Beautifulsoup4,爬网站图片
  12. js闭包是什么?对js闭包的理解
  13. 石化行业工作调度,如何选择合适的防爆对讲机?
  14. vue+mysql实现前端对接数据库
  15. 数字技术使智能视频监控超越传统模拟系统
  16. DeepMind 最新发文:AlphaZero 的黑箱打开了
  17. 女朋友没工作没文化不上进,甩都甩不掉,我疯了
  18. Nyist 915 +-字符串
  19. Win10 安装 SU2
  20. 删除DB2实例下的数据库

热门文章

  1. Java游戏服务器成长之路——感悟篇
  2. matlab散点图转换热力图heatmap
  3. Vue笔记(五)—— Vue render渲染/组件嵌套之iView官网案例改写Table表格组件及Modal弹窗/对话框/模态框组件内容自定义详解
  4. 42个高效率Google Chrome 插件,为你保驾护航,快收藏!!!
  5. 机器学习基石12:非线性变换(Nonlinear Transformation)
  6. 工控软件及计算机监控系统设计
  7. 64位格式化字符串漏洞利用——axb_2019_fmt64
  8. Win7和Win10 关闭驱动程序强制签名的方法
  9. 微型计算机按资产可分为,初级电算化模拟试卷三
  10. cleverhans与foolbox的对比使用(pytorch+python3)