Jak*_*kob 39 database json mongodb
我听说过MongoDB,但我不确定我是否完全理解这个概念.
如果我在MongoDB中存储了多个JSON对象:
[{"id": "peter",
"age": "12",
"gender": "male"},
{"id": "gemma",
"age": "12",
"gender": "female"},
{"id": "paul",
"age": "13",
"gender": "male"}]
Run Code Online (Sandbox Code Playgroud)
我怎样才能查询所有JSON对象age >= 12?
Mik*_*ant 47
首先,要了解JSON只是一种序列化技术.就其本身而言,这种序列化方法可能不应该确定您的持久性介质.从表面上看你的问题,看起来你正在寻找的是一个典型的关系存储数据库,你可以使用SQL以灵活的方式查询数据.
在从这样的关系数据库检索之后,序列化/反序列化JSON数据以便存储到或用于呈现在几乎任何编程语言中都是微不足道的.
现在,如果您确实需要存储不具有固定结构的JSON文档(或任何其他类型的文档)的各种片段,那么您通常会开始查看NoSQL类型的解决方案(例如MongoDB).使用更流行的NoSQL数据库的另一种可能的情况是,当您处理大量数据并需要水平扩展时(即数据太大,您需要跨多个服务器扩展数据库).许多NoSQL系统比传统的关系数据库更容易做到.当然,在这种情况下,您需要根据它们提供的功能来评估这些工具,从而允许您以最有用的方式为您的用例读取,写入和查询数据.
Sop*_*eng 17
从5.7开始,MySQL现在具有本机JSON数据类型.假设您的表被调用students并且调用了JSON列student,在MySQL 5.7中您的选择可以写成
SELECT * FROM students WHERE JSON_EXTRACT(student, '$.age') = 12;
Run Code Online (Sandbox Code Playgroud)
Man*_*wam 14
MongoDB以BSON格式存储数据,类似于JSON.您可以以JSON格式存储数据,并可以对任何字段进行查询.您甚至可以索引用于主要查询的特定字段.
您不仅限于MongoDB,看到您的问题我认为任何文档存储都将满足您的需求.你在这里阅读更多: - http://en.wikipedia.org/wiki/Document-oriented_database
| 归档时间: |
|
| 查看次数: |
84621 次 |
| 最近记录: |