我正在创建投票应用。我的架构定义如下
adc
voterList将包含所有选民姓名。
在添加投票之前,我想检查用户是否已经投票进行投票(需要检查每个voterList数组中是否存在用户)。
如何完成此操作?
答案 0 :(得分:2)
如果你想在voterList数组中使用唯一值,可以使用$ addToSet在voterList中推送用户。
但是如果你想做某种验证。你最好做一个查询,检查用户是否已经存在于数组中。
如果是,则抛出一条消息,说用户已经投票,否则将用户添加到选民列表
为了检查用户是否已存在于voterList数组中,实际上非常简单。
您可以使用如下查找查询:
find({voterList:'585ce839c84f5d3d1ef15d56'})
即使voterList是一个数组,mongo也会看到数组中是否存在提供的值。