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

相关推荐
一个程序员_zhangzhen38 分钟前
sqlserver新建用户并分配对视图的只读权限
数据库·sqlserver
zfj32141 分钟前
学技术学英文:代码中的锁:悲观锁和乐观锁
数据库·乐观锁··悲观锁·竞态条件
吴冰_hogan43 分钟前
MySQL InnoDB 存储引擎 Redo Log(重做日志)详解
数据库·oracle
nbsaas-boot1 小时前
探索 JSON 数据在关系型数据库中的应用:MySQL 与 SQL Server 的对比
数据库·mysql·json
cmdch20171 小时前
Mybatis加密解密查询操作(sql前),where要传入加密后的字段时遇到的问题
数据库·sql·mybatis
程序员学习随笔1 小时前
PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
数据库·postgresql
Sun_12_21 小时前
SQL注入(SQL lnjection Base)21
网络·数据库
秦时明月之君临天下1 小时前
PostgreSQL标识符长度限制不能超过63字节
数据库·postgresql
woshilys1 小时前
sql server 备份恢复
数据库·sqlserver
CodeCraft Studio1 小时前
【实用技能】如何在 SQL Server 中处理 Null 或空值?
数据库·oracle·sqlserver