面试官: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面试】阅读更多的好文章,获取我为大家准备的资料。

相关推荐
恰薯条的屑海鸥6 分钟前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
咖啡啡不加糖9 分钟前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
曼汐 .16 分钟前
数据库管理与高可用-MySQL高可用
数据库·mysql
2301_7931024931 分钟前
Linux——MySql数据库
linux·数据库
喵叔哟33 分钟前
第4章:Cypher查询语言基础
数据库
刘 大 望37 分钟前
数据库-联合查询(内连接外连接),子查询,合并查询
java·数据库·sql·mysql
从零开始学习人工智能1 小时前
Doris 数据库深度解析:架构、原理与实战应用
数据库·架构
LiRuiJie2 小时前
深入剖析MySQL锁机制,多事务并发场景锁竞争
数据库·mysql
2501_915374352 小时前
Faiss向量数据库全面解析:从原理到实战
数据库·faiss
睡觉待开机2 小时前
0. MySQL在Centos 7环境安装
数据库·mysql·centos