为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB的文档存储是指什么?

MongoDB的文档存储是指什么?

PHP
犯罪嫌疑人X 2019-03-06 05:32:19
mongodb是key-value的存储方式,和redis一样,它们的value支持多种数据类型。怎么理解MongoDB的文档存储,是指它可以直接存word文档或者是Excel、图片这些吗?不像mysql存的是它们所在的路径。看了一下MongoDB和redis的简介,感觉MongoDB能够做的,redis也一样可以做。为什么有些场景要选MongoDB。比如:需要实时显示数据,两者都可以做到。 是我对它们理解的还不够透彻吗。
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

别想那么复杂。以存储一篇文章为例,文章有字段:

  1. 标题
  2. 内容
  3. 图片
  4. 时间

用关系型数据存储时,你可能会建一个文章表,然后建立对应字段,存储对应数据。
而 MongoDB 就是直接把字段以及对应内容当成一个 json 存进去(下面的json)。

{
    "title":"文章标题",
    "content":"文章内容",
    "img":"文章图片",
    "createTime":"创建时间"
}

基于中两种方式,你会看到,如果是关系型数据库,你如果要增删一个字段,可能要考虑很多东西。但是对于 MongoDB 而言,直接在 json 里加上对应字段及内容就可以了,增删字段十分方便。

查看完整回答
反对 回复 2019-03-18
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

一些粗浅的理解

文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。

MongoDB 介于关系数据库和非关系数据库之间。每一条记录就是一个文档(对应关系数据库的row),一批文档组成文档组(即集合,对应table),可以对文档的某些字段建立索引。可以像关系数据库一样去支持丰富的查询语言。

Redis 非关系数据库,hash支持简单关系,key-value读取速度快,但不支持复杂关系,不支持对字段索引,不适合进行查询搜索。

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 383 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信