我是nosql(MongoDB)的新手,所以对我轻松一点。
我正在从各种网页中抓取json-ld,并希望存储/调用数据。但是,值类型不断变化。例如,有时“作者”字段使用“组织”类型,有时则是“人员”类型,有时仅是字符串,有时只是缺少。
我应该将数据转换为某种类型的标准吗? 是否应该将每个对象放入其自己的集合中并进行引用? 您如何处理与众不同的显示。
寻找经验的词汇或有关如何处理不一致的数据结构的优秀文章的链接。
答案 0 :(得分:0)
No-Sql数据库的全部要点是它的架构更少,并且结构可能因文档而异,所以我在这里看不到任何问题。
我认为您是在询问应如何在应用程序业务逻辑中处理它,所以这是我的建议:
您可以将作者另存为嵌入式子文档,该子文档始终具有一个称为“ type”的字段(作为值的枚举:String,Person,Organization等),并在获取数据时采取相应的措施。
例如,如果作者只是一个字符串,那么文档将类似于:
{
…,
“author”: {
“type”: “String”,
“text”: <text>
}
}
如果它是Person类型,则:
{
…,
“author”: {
“type”: “Person”,
“first_name”: <first name>,
“last_name”: <last name>
}
}