在这里我的问题:我想创建一个网络,允许用户上传帖子和喜欢他们。喜欢在mongoDB
我想我可以将每篇文章存储在一个名为'post'的集合中,而且我没有这样做的问题。
但我在哪里可以存储每个帖子上的相关数据(时间,用户等等)喜欢? 我不能在发布文档里面这样做,因为文档的最大尺寸是16MB,并且想象我将不得不为每个帖子记录数千个喜欢的相关数据,我无法做到这一点。
我可以将每个帖子关联到一个集合,其中包括文档和每个文档是一样的。但是,如果可能的话,我真的不想创造数百万和数百万的收藏。后文件的
例子:
{_id: blabla, userfrom: {}, txt: "i am the post", time: {}, geo: {}, likes: {here i have to add as many likes as users clicks, and it can exceed 16MB}}
在“喜欢”我可以把一个引用的集合,但是这是我想不能做什么。
我读过关于MongoDB的gridstore,但我没有明白。我可以使用它作为一个大小可以趋于无限的文件吗?所以我可以添加尽可能多的记录,因为我想要?因此,与电网商店,我可以这样做:
{_id: blabla, userfrom: {}, txt: "i am the post", time: {}, geo: {}, likes: {infinite records}}
有人可以帮助我处理吗?谢谢
不确定你的意思是“创造数百万和数百万的收藏”。常见的做法是创建一个集合,每个集合包含一个文档,其中包含对其所引用的帖子的引用。为什么这不起作用? –
为什么不把喜欢的文件存储为文件?每个人都有他们喜欢的职位的参考ID?并且,保留帖子中的总数,以便代码实际上不需要每次都得到一个计数。我敢打赌,每次显示帖子时都不需要获取每个“喜欢”的详细信息,因此最好不要将所有数据存储在一个文档中。 – WiredPrairie
你的意思是为每个帖子或单个集合创建一个集合,将所有帖子中的所有喜欢集合在一起? @AndreasHultgren – Morrisda