哈喽!大家好,我是小奇,一个专给面试官添堵的撑序员
小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟!
文章目录
一、前言
最近在"某奴直聘"上找了一份工作,虽然工资低,但是工作也累啊。但好歹可以提现我的价值了,我的价值就是让老板早日买车买房。。。
人事小姐姐说是日不落工作模式,我想着应该是一种很潮流的工作模式吧。。。
二、面试
面试官:我看你简历上写的精通MongoDB?(面试官鄙夷的看了我一眼)
我:准确来说不是精通,而是登峰造极。
面试官:呵呵、那你先说一说MongoDB是什么吧
我:Mongodb是一款非关系型数据库,它区别于关系型数据库最显著的特征就是没有SQL语句,所存储的数据也没有固定的数据类型
面试官:MongoDB有什么特性呢?
我:MongoDB存储的数据类似于json文档格式。如下。
面试官:MongoDB如何安装使用呢?
1、获取安装包
wget https://fastdl.mongodb.org/linux/mongodb‐linux‐x86_64‐rhel70‐4.4.2.tgz
- 进行解压
tar ‐xvzf mongodb‐linux‐x86_64‐rhel70‐4.4.2.tgz
- 添加到系统执行路径下面( ~/.bashrc)
export PATH=$PATH:<你机器MongoDB bin目录,如:/usr/local/mongodb/mongodb‐linux‐x86_
64‐rhel70‐4.4.2/bin>
执行 source ~/.bashrc
- 创建数据目录
mkdir ‐p /data/db # 这个路径是MongoDB默认的数据存放路径
- 启动MongoDB服务
mongod # 如果你不希望使用的默认数据目录可以通过 添加 ‐‐dbpath 参数指定路径
或者从后台启动
mongod --logpath /data/db/logpath/output --fork
需要指定 --logpath , 或者--syslog
客户端使用( mongo shell, 用来操作MongoDB的javascript客户端界面 ):
- 连接服务
1 mongo ‐‐host ‐‐port
2 # 如果在本机使用的都是默认参数,也可以直接忽略所有参数
面试官:MongoDB有哪些语法呢?
基本操作:添加数据
1 db.集合.insertOne(<JSON对象>) // 添加单个文档
例如
db.emp.insertOne(
{
name:"zhangsan",
age:20,
sex:"m"}
);
条件查询
- 精准等值查询
db.inventory.find( { status: "D" } );
db.inventory.find( { qty: 0 } ); - 多条件查询
db.inventory.find( { qty: 0, status: "D" } ); - 嵌套对象精准查询
db.inventory.find( { "size.uom": "in" } ); - 返回指定字段
db.inventory.find( { }, { item: 1, status: 1 } );
默认会返回_id 字段, 同样可以通过指定 _id:0 ,不返回_id 字段 - 条件查询 and
db.inventory.find({$and:[{"qty":"0"},{"status":"A"}]}).pretty(); - 条件查询 or
db.inventory.find({$or:[{"qty":"0"},{"status":"A"}]}).pretty();
面试官:确实有些东西,那你今天晚上来上班吧,我们是日不落模式的?
我:黑奴啊。。。
三、总结
这里关于MongoDB还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
如果觉得我的文章还不错的话就点个赞吧,另外可以微信搜索【小奇JAVA面试】阅读更多的好文章,获取我为大家准备的资料。