面试题--MongoDB

MongoDb

MongoDB 是什么?

mongodb 是属于文档型的非关系型数据库,是开源、高性能、高可用、可扩展的
数据逻辑层次关系:文档=>集合=>数据库
在关系型数据库中每一行的数据对应 mongodb 里是一个文档。mongodb 的文档
是以 BSON(binary json)格式存储的,其格式就是 json 格式。

1>集合

集合是一组文档(即上面的 users 集合)。集合相当于关系数据库中的表,但集合
中的文档长度可不同(集合中的文档中的键值对个数可不同)、集合中文档的 key 可不同。
向集合中插入第一个文档时,集合会被自动创建。

2>文档

文档是一组键值对,用{ }表示,字段之间用逗号分隔。相当于关系数据库中的一行
(一条记录)。示例:一个文档

3>字段

即一个键值对,key 必须是 String 类型,value 可以是任意类型。

MongoDB 和关系型数据库 mysql 区别

上图中,左边的是 MySQL 数据库中 users 表,右边是 MongoDB 中 users 集合。虽
然表现形式不同,但是数据内容还是一样的。其中:
test:表示数据库
users:表示集合,类似 MySQL 中的表
{id:"1",name:"张三",age:28,email:"zhangs@gmail.com"}:表示一个文档,类似于
MySQL 中的记录
id、name、age 和 email:表示字段

MongoDB 有 3 个数据库

一个 MongoDB 中可以建立多个数据库,这些数据库是相互独立的,有自己的集合和权
限。不同的数据库使用不同的文件存储(不存储在一个文件中)。
MongoDB 默认有 3 个数据库:
admin: 从权限的角度来看,这是"root"数据库。将一个用户添加到这个数据库,这个
用户会自动继承所有数据库的权限。一些特定的服务器端命令也只能在这个数据库中运行,
比如列出所有的数据库或者关闭服务器。
local: 这个数据库永远不会被复制,里面的数据都是本地的(不会复制到其他 MongoDB
服务器上),可以用来存储限于本地单台服务器的任意集合
config: 当 Mongo 用于分片设置时,config 数据库在内部使用,用于保存分片的相关信
息。

Mongo 中的数据类型

  1. null
  2. false 和 true
  3. 数值
  4. UTF-8 字符串
  5. 日期 new Date()
  6. 正则表达式
  7. 数组
  8. 嵌套文档
    99 9. 对象 ID ObjectId()
  9. 二进制数据
  10. 代码
相关推荐
以后不吃煲仔饭11 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师11 分钟前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
The_Ticker17 分钟前
CFD平台如何接入实时行情源
java·大数据·数据库·人工智能·算法·区块链·软件工程
Elastic 中国社区官方博客23 分钟前
Elasticsearch 开放推理 API 增加了对 IBM watsonx.ai Slate 嵌入模型的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
企鹅侠客27 分钟前
ETCD调优
数据库·etcd
Json_1817901448034 分钟前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
大数据编程之光39 分钟前
Flink Standalone集群模式安装部署全攻略
java·大数据·开发语言·面试·flink
煎饼小狗1 小时前
Redis五大基本类型——Zset有序集合命令详解(命令用法详解+思维导图详解)
数据库·redis·缓存
爪哇学长1 小时前
双指针算法详解:原理、应用场景及代码示例
java·数据结构·算法
ExiFengs1 小时前
实际项目Java1.8流处理, Optional常见用法
java·开发语言·spring