mongodb是key-value的存储方式,和redis一样,它们的value支持多种数据类型。怎么理解MongoDB的文档存储,是指它可以直接存word文档或者是Excel、图片这些吗?不像mysql存的是它们所在的路径。看了一下MongoDB和redis的简介,感觉MongoDB能够做的,redis也一样可以做。为什么有些场景要选MongoDB。比如:需要实时显示数据,两者都可以做到。是我对它们理解的还不够透彻吗。
2 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
别想那么复杂。以存储一篇文章为例,文章有字段:标题内容图片时间用关系型数据存储时,你可能会建一个文章表,然后建立对应字段,存储对应数据。而MongoDB就是直接把字段以及对应内容当成一个json存进去(下面的json)。{"title":"文章标题","content":"文章内容","img":"文章图片","createTime":"创建时间"}基于中两种方式,你会看到,如果是关系型数据库,你如果要增删一个字段,可能要考虑很多东西。但是对于MongoDB而言,直接在json里加上对应字段及内容就可以了,增删字段十分方便。
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
一些粗浅的理解文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。MongoDB介于关系数据库和非关系数据库之间。每一条记录就是一个文档(对应关系数据库的row),一批文档组成文档组(即集合,对应table),可以对文档的某些字段建立索引。可以像关系数据库一样去支持丰富的查询语言。Redis非关系数据库,hash支持简单关系,key-value读取速度快,但不支持复杂关系,不支持对字段索引,不适合进行查询搜索。
添加回答
举报
0/150
提交
取消
