我阅读了使用原子运算符投票的文章。在本文中,该voters
字段是一个ObjectId
s 数组。但我想将其存储voters
为具有以下格式的嵌入文档数组:
{
user: ObjectId,
date: Date,
isDownvote: Boolean, // If false, it's an upvote.
}
用户可以像 Stack Overflow 提供的投票系统一样对帖子投赞成票或反对票。因此,例如,当用户想要对帖子进行投票时,需要考虑以下情况:
- 如果用户的反对票已经存在,则将投票更新
isDownvote
为false
。 isDownvote
Else 用being推一个新的投票false
。
如何使用这种投票格式在单个查询中推/拉投票?