0

帮助我理解这一点。我正在使用没有休眠或任何其他 jpa 提供程序的 spring-data-mongodb。我的域模型是这样的:

public class User {
  @Id
  private String id;
  private String username;
  private String password;
  ...
}

我运行了一个测试类来填充我的 mongodb 中的一些用户,效果很好。但是,如果我添加更多这样的注释:

public class User {
  @Id
  private String id;
  @Field(value="uname") private String username;
  @Field(value="pass")private String password;
  ...
}

我的测试类只添加了一个用户,下一个用户抛出异常,抱怨重复条目 -

org.springframework.dao.DuplicateKeyException: E11000 重复键错误索引:gldata.user.$username_-1 dup key: { : null }; 嵌套异常是 com.mongodb.MongoException$DuplicateKey: E11000 duplicate key error index: gldata.user.$username_-1 dup key: { : null }

我在这里想念什么?

4

1 回答 1

0

虽然我不知道为什么会发生这种情况,但我找到了一种解决方法。对 id 字段使用 ObjectId 而不是 String,效果很好。

于 2013-06-17T01:56:56.743 回答