无法检查mongoose中嵌套模型中是否存在该值

时间:2017-01-18 11:59:00

标签: node.js express mongoose

我正在创建投票应用。我的架构定义如下

adc

voterList将包含所有选民姓名。
在添加投票之前,我想检查用户是否已经投票进行投票(需要检查每个voterList数组中是否存在用户)。
如何完成此操作?

1 个答案:

答案 0 :(得分:2)

如果你想在voterList数组中使用唯一值,可以使用$ addToSet在voterList中推送用户。

但是如果你想做某种验证。你最好做一个查询,检查用户是否已经存在于数组中。

如果是,则抛出一条消息,说用户已经投票,否则将用户添加到选民列表

为了检查用户是否已存在于voterList数组中,实际上非常简单。

您可以使用如下查找查询:

find({voterList:'585ce839c84f5d3d1ef15d56'})

即使voterList是一个数组,mongo也会看到数组中是否存在提供的值。

相关问题