首页 > 解决方案 > 不要添加重复值MongoDB

问题描述

我有以下猫鼬查询:

let employeeData = [];
if (employees) {
  employeeData = employees.map((employee) => ({ name: employee.name }));
}

await Employee.insertMany(employeeData);

这可行,但会增加很多重复值。我只想插入唯一值。我该怎么做呢?

标签: javascriptnode.jsmongodbmongoose

解决方案


  1. name索引设置为唯一

    db.employees.createIndex( { "name": 1 }, { unique: true } )

  2. 将 insertMany 与ordered:false选项一起使用,如果有重复项,则不会停止插入

    await Employee.insertMany(employeeData, { ordered : false });


推荐阅读