结构化数据与非结构化数据?
Posted
技术标签:
【中文标题】结构化数据与非结构化数据?【英文标题】:Structured data vs unstructured data? 【发布时间】:2018-09-08 19:40:58 【问题描述】:我一直在使用 mongoDB 文档来测试我的应用程序。从我读到的内容来看,mongoDB 应该是非结构化数据。但是,我很困惑,因为我的文档有 id、title 等字段。这不是结构化的吗?
有人能给我一些来自数据库的结构化和非结构化数据的例子吗?
【问题讨论】:
请查看How to Ask 部分和edit 您的问题,以便提供minimal reproducible example。 没有必要无礼或报复,像那样反击:-(。这是一个社区,每个人都应该尽自己的一份力量来改善它。 哦,好吧,我很抱歉 :(((((( 【参考方案1】:非结构化数据具有内部结构,但不是通过预定义的数据模型或架构进行结构化。
您可以有一个包含 4 个字段的行和另一个包含 15 个字段的行。在这里,如果您没有某些字段或列的数据,则您没有存储它们,否则您将忽略它们。在后期开发应用程序时,您可能会发现需要添加一些字段,这是非结构化数据库发挥主要作用的地方。
【讨论】:
你能提供一些例子吗?【参考方案2】:MongoDB 是一个 NoSQL 数据库。简单来说,您不需要像 SQL 数据库那样创建具有列名及其数据类型的表。您存储在 MongoDB 中的数据不会在内部组织为表。但是,您仍然需要将数据以键值对(JSON 格式)的方式存储在集合中。
例如:db.details.find().pretty();
,其中details
是集合的名称:
"_id" : ObjectId("5b93721978b7d31f00fc1bd7"),
"id" : "15IT112",
"name" : "Shivam"
"_id" : ObjectId("5b93722d78b7d31f00fc1bd8"),
"id" : "15IT113",
"name" : "Reena"
除此之外,MongoDB 还提供了一个使用 Mongoose 构建数据库的选项,Mongoose 是一个对象关系映射器。您可以根据需要定义架构。
例如:
let mongoose = require('mongoose');
let detailSchema = mongoose.Schema(
id:
type: String,
required: true
,
name:
type: String,
required: true
);
【讨论】:
【参考方案3】:Unstructured data has internal structure but is not structured via pre-defined data models or schema.
这通常是在网上找到的定义,但可以理解的是,它令人困惑。
在使用 MongoDB 文档的示例中,这些文档是使用模式和模型定义的。这是用于定义非结构化数据的internal structure
。
但是,文档不是通过预定义的数据模型或架构构建的。这意味着documents are stored in a way that is not structured via pre-defined models or schema
。相反,它们存储在不遵循预定义模型或架构的集合中。
【讨论】:
以上是关于结构化数据与非结构化数据?的主要内容,如果未能解决你的问题,请参考以下文章