Mongodb真正的基本用例
我正在接近noSQL世界。 我研究了一下网络(不是学习的最佳方式!),我读了Mongodb文档。 在网络上,我无法找到一个真实案例(只有大型架构上的航班没有得到很好的解释,或者太基本,不能成为现实世界的例子)。
所以我在理解noSQL和Mongodb方面仍然存在一些巨大的漏洞。
我尝试总结其中的一个,其中最差的一个,如下所示:
让我们想象一下简单博客结构的帖子的数据结构:
{
"_id": ObjectId(),
"title": "Title here",
"body": "text of the post here",
"date": ISODate("2010-09-24"),
"author": "author_of_the_post_name",
"comments": [
{
"author": "comment_author_name",
"text": "comment text",
"date": ISODate("date")
},
{
"author": "comment_author_name2",
"text": "comment text",
"date": ISODate("date")
},
...
]
}
到现在为止还挺好。
如果author_of_the_post
没有改变他的名字(不考虑个人资料图片和描述),所有作品都可以。 所有comment_authors
。
所以如果我想考虑这种情况,我必须使用关系:
"authorID": <author_of_the_post_id>,
对于帖子的作者和
"authorID": <comment_author_id>,
为评论作者。
但是MongoDB在查询时不允许加入。 因此,每个authorID
都会有不同的查询。
那么如果我在我的博客文章中有100条评论,会发生什么?
1 query for the post
1 query to retrieve authors informations
100 queries to retrieve comments' authors informations
**total of 102 queries!!!**
我对吗?
这里使用noSQL的优势在哪里? 在我的理解102查询VS 1更大的查询使用连接。
或者我错过了一些东西,还有一种不同的方式来模拟这种情况?
感谢您的贡献!
希望这可以帮助。
你见过这个吗?
http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/
这听起来像你正在做的不是NoSQL的好用例。 使用关系数据库作为基本数据存储来备份应用程序,使用NoSQL进行缓存等。
链接地址: http://www.djcxy.com/p/78047.html