面试官:MongoDB是什么,它有什么特性与使用场景?

哈喽!大家好,我是小奇,一个专给面试官添堵的撑序员

小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧

文章持续更新,可以微信搜索【小奇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

  1. 进行解压

tar ‐xvzf mongodb‐linux‐x86_64‐rhel70‐4.4.2.tgz

  1. 添加到系统执行路径下面( ~/.bashrc)

export PATH=$PATH:<你机器MongoDB bin目录,如:/usr/local/mongodb/mongodb‐linux‐x86_

64‐rhel70‐4.4.2/bin>

执行 source ~/.bashrc

  1. 创建数据目录

mkdir ‐p /data/db # 这个路径是MongoDB默认的数据存放路径

  1. 启动MongoDB服务

mongod # 如果你不希望使用的默认数据目录可以通过 添加 ‐‐dbpath 参数指定路径

或者从后台启动

mongod --logpath /data/db/logpath/output --fork

需要指定 --logpath , 或者--syslog

客户端使用( mongo shell, 用来操作MongoDB的javascript客户端界面 ):

  1. 连接服务

1 mongo ‐‐host ‐‐port

2 # 如果在本机使用的都是默认参数,也可以直接忽略所有参数

面试官:MongoDB有哪些语法呢?

基本操作:添加数据

1 db.集合.insertOne(<JSON对象>) // 添加单个文档

例如

db.emp.insertOne(

{

name:"zhangsan",

age:20,

sex:"m"}

);

条件查询

  1. 精准等值查询
    db.inventory.find( { status: "D" } );
    db.inventory.find( { qty: 0 } );
  2. 多条件查询
    db.inventory.find( { qty: 0, status: "D" } );
  3. 嵌套对象精准查询
    db.inventory.find( { "size.uom": "in" } );
  4. 返回指定字段
    db.inventory.find( { }, { item: 1, status: 1 } );
    默认会返回_id 字段, 同样可以通过指定 _id:0 ,不返回_id 字段
  5. 条件查询 and
    db.inventory.find({$and:[{"qty":"0"},{"status":"A"}]}).pretty();
  6. 条件查询 or
    db.inventory.find({$or:[{"qty":"0"},{"status":"A"}]}).pretty();

面试官:确实有些东西,那你今天晚上来上班吧,我们是日不落模式的?

我:黑奴啊。。。

三、总结

这里关于MongoDB还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
如果觉得我的文章还不错的话就点个赞吧,另外可以微信搜索【小奇JAVA面试】阅读更多的好文章,获取我为大家准备的资料。

相关推荐
砚边数影1 天前
线性回归原理(二):梯度下降算法,Java实现单变量/多变量拟合
java·数据库·算法·线性回归·kingbase·kingbasees·金仓数据库
licheng99671 天前
工具、测试与部署
jvm·数据库·python
红队it1 天前
【数据分析+机器学习】基于机器学习的招聘数据分析可视化预测推荐系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
数据库·机器学习·数据分析
明洞日记1 天前
【软考每日一练020】深入解析事务(Transaction)与ACID特性的工程实现
数据库·oracle
洋不写bug1 天前
数据库的约束和主键
数据库
你想考研啊1 天前
sqlserver新建用户和表
数据库
码农水水1 天前
京东Java面试被问:分布式会话的一致性和容灾方案
java·开发语言·数据库·分布式·mysql·面试·职场和发展
雪碧聊技术1 天前
DBeaver连接sql server数据库时,提示驱动版本不合适
数据库·sqlserver·dbeaver·更换驱动·修改java.security
Tansmjs1 天前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
是三好1 天前
redis
数据库·redis·缓存