Mongodb nosql不一致的数据结构
我是nosql(MongoDB)的新手,所以对我放松点 我正在从各种网页上抓取json ld,并希望存储/调用数据。但是,值类型不断变化。例如,有时“author”字段使用“organization”类型,有时是“person”类型,有时只是字符串,有时只是缺少 我应该将数据转换为某种类型的标准吗? 每个对象都应该放在自己的集合中并被引用吗? 你如何处理显示器的不同Mongodb nosql不一致的数据结构,mongodb,nosql,Mongodb,Nosql,我是nosql(MongoDB)的新手,所以对我放松点 我正在从各种网页上抓取json ld,并希望存储/调用数据。但是,值类型不断变化。例如,有时“author”字段使用“organization”类型,有时是“person”类型,有时只是字符串,有时只是缺少 我应该将数据转换为某种类型的标准吗? 每个对象都应该放在自己的集合中并被引用吗? 你如何处理显示器的不同 寻找关于如何处理不一致数据结构的经验词汇或优秀文章的链接。没有Sql数据库的关键在于它的模式较少,并且结构可能因文档而异,因此我认
寻找关于如何处理不一致数据结构的经验词汇或优秀文章的链接。没有Sql数据库的关键在于它的模式较少,并且结构可能因文档而异,因此我认为这里没有问题 我想您是在问您应该如何在应用程序业务逻辑中处理it,因此我的建议如下: 您可以将作者另存为一个嵌入的子文档,该子文档始终具有一个名为“type”的字段(作为值的枚举:字符串、人员、组织等),并在获取数据时执行相应操作 例如,如果作者仅仅是一个字符串,那么文档看起来就像:
{
…,
“author”: {
“type”: “String”,
“text”: <text>
}
}
{
…,
“作者”:{
“类型”:“字符串”,
“文本”:
}
}
如果是个人类型,则:
{
…,
“author”: {
“type”: “Person”,
“first_name”: <first name>,
“last_name”: <last name>
}
}
{
…,
“作者”:{
“类型”:“人”,
“名字”:,
“姓氏”:
}
}
没有Sql数据库的关键在于,它的模式较少,而且文档之间的结构可能会有所不同,因此我认为这里没有问题
我想您是在问您应该如何在应用程序业务逻辑中处理it,因此我的建议如下:
您可以将作者另存为一个嵌入的子文档,该子文档始终具有一个名为“type”的字段(作为值的枚举:字符串、人员、组织等),并在获取数据时执行相应操作
例如,如果作者仅仅是一个字符串,那么文档看起来就像:
{
…,
“author”: {
“type”: “String”,
“text”: <text>
}
}
{
…,
“作者”:{
“类型”:“字符串”,
“文本”:
}
}
如果是个人类型,则:
{
…,
“author”: {
“type”: “Person”,
“first_name”: <first name>,
“last_name”: <last name>
}
}
{
…,
“作者”:{
“类型”:“人”,
“名字”:,
“姓氏”:
}
}
这是一个开放式问题。听起来你在处理半结构化数据。使用您的示例,理想情况下,作者
应该是一致的,例如,通常这是一个字符串
类型或类似类型。但是,如果您有多个数据源,这有时是不可能的。MongoDB的文档模型可以处理您对同一字段的不同数据类型的需求,但是最好了解更多关于MongoDB的信息,看看它是否适合您的用例。有关更多信息,请参阅。这是一个开放式问题。听起来你在处理半结构化数据。使用您的示例,理想情况下,作者
应该是一致的,例如,通常这是一个字符串
类型或类似类型。但是,如果您有多个数据源,这有时是不可能的。MongoDB的文档模型可以处理您对同一字段的不同数据类型的需求,但是最好了解更多关于MongoDB的信息,看看它是否适合您的用例。有关更多信息,请参阅。