我正在学习微服务,我有两个类orderservice和paymentservice。当我运行代码时,它运行良好且成功,但是当我通过postman将数据传递到数据库时,它在支付类中显示了带有控制台消息的内部服务器错误
"Write operation error on server localhost:27017. Write error: WriteError{code=11000, message='E11000 duplicate key error collection: PAYMENT_TB.PAYMENT_TB index: _id_ dup key: { _id: 0 }', details={}}"按照这样的顺序上课
"500 : "{"timestamp":"2022-02-24T11:12:46.925+00:00","status":500,"error":"Internal Server Error","path":"/payment/doPayment"}"发布于 2022-02-24 12:11:49
错误信息是说,已经有一个记录与null作为电子邮件。换句话说,你已经有一个没有电子邮件地址的用户了。
这方面的相关文件:
如果文档在唯一索引中没有索引字段的值,则索引将存储此文档的空值。由于唯一的约束,MongoDB将只允许一个缺少索引字段的文档。如果有多个文档没有索引字段的值,或者缺少索引字段,索引生成将失败,出现重复的键错误。可以将唯一约束与稀疏索引组合起来,从唯一索引中筛选这些空值,并避免错误。
唯一指标
稀疏索引仅包含具有索引字段的文档的条目,即使索引字段包含空值。
换句话说,稀疏索引对于所有具有null值的多个文档来说都是可以的。
稀疏指标
https://stackoverflow.com/questions/71251613
复制相似问题