Javascript MongoDB如何防止仅在某些嵌入文档中重复名称值?

Javascript MongoDB如何防止仅在某些嵌入文档中重复名称值?,javascript,mongodb,duplicates,embedded,aggregate,Javascript,Mongodb,Duplicates,Embedded,Aggregate,我已经建立了一个数据库来存储不同用户的待办事项列表。为了提高效率,我对数据进行了结构化,以便将所有列表和任务作为嵌入文档存储在每个用户对象中。所以有一个用户,然后是一个嵌入式列表数组,然后在每个列表中都有一个嵌入式任务数组。我希望我的api能够防止同一列表中出现重复的任务名称,以及同一用户的重复列表名称 我按名称进行筛选操作,因为我不信任索引的目标查询,因为每当添加/删除列表/任务时,索引都会更改,而且我不希望为每个嵌入文档生成唯一的ID。我在前端已经有了防止重复的功能,但我计划让这个api能够

我已经建立了一个数据库来存储不同用户的待办事项列表。为了提高效率,我对数据进行了结构化,以便将所有列表和任务作为嵌入文档存储在每个用户对象中。所以有一个用户,然后是一个嵌入式列表数组,然后在每个列表中都有一个嵌入式任务数组。我希望我的api能够防止同一列表中出现重复的任务名称,以及同一用户的重复列表名称

我按名称进行筛选操作,因为我不信任索引的目标查询,因为每当添加/删除列表/任务时,索引都会更改,而且我不希望为每个嵌入文档生成唯一的ID。我在前端已经有了防止重复的功能,但我计划让这个api能够被其他来源和最终的其他开发人员访问。api是否有可靠的方法来防止这些范围内的名称重复


我听说mongoose模式可以实现这一点,但我还没有看到任何足够具体的例子。我一直使用的都是mongoDB shell,所以我不想把所有东西都切换到mongoose模式,除非它总体上是非常有益的。

$addToSet
这样的东西对你有用吗?它不允许您将重复的值推送到数组中。像
$addToSet
这样的东西对你有用吗?它不允许您将重复的值推送到数组中。