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

相关推荐
2501_933670794 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
我要见SA姐16 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh7 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客7 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐18 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils9 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶9 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕9 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女10 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴10 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因