【发布时间】:2020-04-28 16:41:15
【问题描述】:
我的问题是:如果我有一个名为 posts 的集合。用户可以点赞一个帖子,但只能点赞一次,所以我需要将他保存在某个地方,可能是在一个名为userThatLiked 的嵌入式数组中,这样他就不能点赞两次。有一个字段likes 并在新用户喜欢它时增加该值更好,还是返回嵌入数组的长度userThatLiked 更好?这对性能有影响吗?
【问题讨论】:
标签: mongodb
我的问题是:如果我有一个名为 posts 的集合。用户可以点赞一个帖子,但只能点赞一次,所以我需要将他保存在某个地方,可能是在一个名为userThatLiked 的嵌入式数组中,这样他就不能点赞两次。有一个字段likes 并在新用户喜欢它时增加该值更好,还是返回嵌入数组的长度userThatLiked 更好?这对性能有影响吗?
【问题讨论】:
标签: mongodb
是的,您可以嵌入文档,例如
{
_id: post_1
likes : [ user_id_1,user_id_2,user_id_3]
}
当用户点击like按钮时,你应该使用addtoSet而不是push
【讨论】:
likes 数组将是巨大的。有一个正在增加的字段likes 更好还是我只返回数组的大小无关紧要?
_id