Node.js mongodb中有没有一种方法可以让insertOne在不抛出错误的情况下创建重复的索引文档?

Node.js mongodb中有没有一种方法可以让insertOne在不抛出错误的情况下创建重复的索引文档?,node.js,mongodb,Node.js,Mongodb,我希望避免创建重复文档,因此在搜索如何创建时,我找到的第一个解决方案是: 但与insertOne相比,这真的很慢,所以我看了看: 就性能而言,这似乎是一种更好的解决方案,但问题不是不插入副本,而是它抛出了一个错误: 节点:97200未处理PromiserEjectionWarning:MongoError:E11000重复密钥错误集合:main.dir索引:路径_1 dup密钥:{propertyName:propertyName123} 是否有设置使其不会抛出错误,或者我需要在此处使用try-

我希望避免创建重复文档,因此在搜索如何创建时,我找到的第一个解决方案是:

但与insertOne相比,这真的很慢,所以我看了看:

就性能而言,这似乎是一种更好的解决方案,但问题不是不插入副本,而是它抛出了一个错误:

节点:97200未处理PromiserEjectionWarning:MongoError:E11000重复密钥错误集合:main.dir索引:路径_1 dup密钥:{propertyName:propertyName123}


是否有设置使其不会抛出错误,或者我需要在此处使用try-catch?

我认为这是不可能的-如果您查看NodeJS MongoDB驱动程序源,您可以看到insertOne使用executeOperation

此方法在语句的实际执行过程中有一个try-catch,并重新抛出可能发生的任何错误,如您所见。因此,恐怕没有办法抑制错误-您需要自己处理它们

db.collection.update(doc, doc, {upsert:true})
db.collection.createIndex( { propertyName: 1 }, {unique:true} )