我在想是否有一种方法来限制(子)文档中元素的数量。在我的应用程序中,可以使用ajax向子文档添加元素,因此防止恶意用户添加过多的条目非常重要。
我能想到的一种方法是查询父文档,检查子文档中的元素数量,如果少于X,则保存它。但这需要查询整个文档,只是为了更新一个小东西。我更喜欢使用update()做所有事情,而不是findOne()和save()。有没有办法呢?
编辑:可以在更新之前完成而无需进行数据库查找。我不知道是否可以在子文档中完成,但我用一个普通对象完成了它。只需将数据存储在数组或更好的经典对象中。然后在更新之前验证键的数量,如果键号大于允许的数字-请忽略它。当然,如果处理的是对象,请先检查键是否为数字。