【问题标题】:How to put json object in database automatically?如何将json对象自动放入数据库?
【发布时间】:2016-11-19 23:38:06
【问题描述】:

我有一个非常大的 Json 对象,我想将它放入一个 nosql 数据库中。 我想知道:

  • 首先,如何根据那个Json对象生成数据库模式?
  • 其次,有没有办法将这个对象自动放入数据库中,而无需手动指定哪个值(在json对象中)进入(在数据库中)的哪一列?

我希望我已经足够清楚了。谢谢!

【问题讨论】:

    标签: json node.js database nosql


    【解决方案1】:

    由于您没有具体说明您使用的是哪个 NoSQL 数据库,为了方便起见,当我谈论特定于实现的事情时,我假设您使用的是 MongoDB。

    首先,您应该知道 NoSQL 数据库本质上是“无模式”的。您仍然可以实现自己的架构(在您的应用程序中,而不是数据库中),但这是可选的,并且主要是为了验证目的或让未来的开发人员更好地了解您的数据的计划结构。阅读this article 中的动态模式部分以了解更多信息。 Here is a SO answer explaining how you would do that in mongoosehere is the official guide/doc for it.

    其次,NoSQL 数据库在列或行方面不起作用。相反,您需要从集合和文档的角度进行思考。所以回答你的问题:是的,当你有一个 JSON 对象时,你直接把它塞进去(如果你已经实现了上面的模式,那么在应用任何所需的格式之前)。您不会逐个输入数据值(除非您有意将其设置为这样做)。

    在我看来,您需要加强对 NoSQL 工作原理的基本理解,因为您似乎对属于其他 DBMS 的概念感到困惑。 Here is a neat slideshow to get you startedthe previous article I linked you to 也给你一个不错的介绍。
    完成后,考虑安装 MongoDB 或类似的东西,然后玩弄命令行界面以掌握它。

    【讨论】:

    • 非常感谢您的无价回复!这就是我实际所做的:不需要模式,因为 mongodb 是无模式的,我可以按原样存储我的 json 对象并在以后查询它,因为 mongodb 是一个 JSON 类型的存储引擎。再次感谢。
    • 由于json对象很大,如何避免集合被截断?
    • 没问题。看起来你已经掌握了 MongoDB 的窍门。据我所知,如果您按原样存储 json 对象(即不应用任何过滤器等),那么您的对象将不会被截断。根据this article,Mongo 的最大文档大小为 16MB,因此除非您的文档大得离谱,否则我认为您会没事的。
    猜你喜欢
    • 2018-09-27
    • 1970-01-01
    • 2021-08-22
    • 2020-11-19
    • 2015-07-25
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多