当一个或多个违反唯一性约束时,如何使用 Mongoid 有效地创建多个文档?

问题描述

class User
  include Mongoid::Document

  index({ name: 1 },{ unique: true,name: "name_index" })

要创建多个:

people = [{name: 'Bob'},{name: 'Bob'},{name: 'Joe'}]
User.create people

这引发了

Mongo::Error::OperationFailure:
   E11000 duplicate key error

我看得见

people.each do |p| 
  User.create p
  rescue Mongo::Error::OperationFailure
end

但这似乎非常低效。

导轨 6
Mongoid 7.2

编辑:这个问题似乎不清楚。应该创建所有有效的文档,无效的应该静默失败。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)