MongoDB 数据库的设计
MongoDB design of a database
所以,我正在为要插入数据库的文档设计模型,我对设计有疑问。是在我的 collections 中插入更多文档还是更少的嵌套文档更好?
示例:
sale:{
store_id : "2",
vendor_id: "2,
points : 100
}
sale:{
store_id : "2",
vendor_id: "2,
points : 100
}
sale:{
store_id : "2",
vendor_id: "2,
points : 100
}
sale:{
store_id : "4",
vendor_id: "3,
points : 100
}
sale:{
store_id : "4",
vendor_id: "1,
points : 100
}
因此,在这个非嵌套示例中,如果我有 N 笔销售,我将在我的 collections 中有 N 笔销售。但是如果我尝试嵌套,我的示例将是:
stores:{ [
store_id : "2"
vendor : [
vendor_id : "2"
sales : [
points : 100
],
[
points : 100
],
[
points : 100
]
]
],
[
store_id: 4
vendor : [
vendor_id : 3
sales : [
point : 100
]
],
[
vendor_id : 1
sale : [
point : 100
]
]
] };
在这个例子中,我嵌套了我所有的销售。
所以,我的问题是:创建报告和分析数据,哪个更快?例如,如果我想查看哪个商店卖得更多,分析嵌套文档或单行文档会更快吗?
提前致谢。
答案很简单。如果您知道会有很多销售并且数量不限,则必须单独进行 collection 销售。 Mongodb 旨在即使在 collection 中有一百万个文档也能以惊人的速度执行,但有趣的是,您将通过嵌套面临很多问题。
mongodb 中还有 16mb 的文档大小限制,因此最终在一段时间后,您的一个存储文档将达到该限制,这会使事情变得非常难看。
很直白,你应该单独去collection。
你也可以看看这篇博文,它会帮你理清头绪
https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1
所以,我正在为要插入数据库的文档设计模型,我对设计有疑问。是在我的 collections 中插入更多文档还是更少的嵌套文档更好? 示例:
sale:{
store_id : "2",
vendor_id: "2,
points : 100
}
sale:{
store_id : "2",
vendor_id: "2,
points : 100
}
sale:{
store_id : "2",
vendor_id: "2,
points : 100
}
sale:{
store_id : "4",
vendor_id: "3,
points : 100
}
sale:{
store_id : "4",
vendor_id: "1,
points : 100
}
因此,在这个非嵌套示例中,如果我有 N 笔销售,我将在我的 collections 中有 N 笔销售。但是如果我尝试嵌套,我的示例将是:
stores:{ [
store_id : "2"
vendor : [
vendor_id : "2"
sales : [
points : 100
],
[
points : 100
],
[
points : 100
]
]
],
[
store_id: 4
vendor : [
vendor_id : 3
sales : [
point : 100
]
],
[
vendor_id : 1
sale : [
point : 100
]
]
] };
在这个例子中,我嵌套了我所有的销售。 所以,我的问题是:创建报告和分析数据,哪个更快?例如,如果我想查看哪个商店卖得更多,分析嵌套文档或单行文档会更快吗?
提前致谢。
答案很简单。如果您知道会有很多销售并且数量不限,则必须单独进行 collection 销售。 Mongodb 旨在即使在 collection 中有一百万个文档也能以惊人的速度执行,但有趣的是,您将通过嵌套面临很多问题。 mongodb 中还有 16mb 的文档大小限制,因此最终在一段时间后,您的一个存储文档将达到该限制,这会使事情变得非常难看。 很直白,你应该单独去collection。
你也可以看看这篇博文,它会帮你理清头绪 https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1