Определите уникальные ключи с помощью MongoDB в Java - PullRequest
0 голосов
/ 19 июня 2020

Я переношу API с Nodejs на Java.

Я использую Micronaut 2.0.0.RC1 вместе с micronaut-mon go -syn c

У меня все в порядке, но мне не хватает важной функции, которая есть у меня с mon goose, которая устанавливает схемы и уникальные ключи.

Что-то вроде этого:

const schema = mongoose.Schema(
    {
      username: {
        type: String,
        required: true,
        unique: true
      },
      name: {
        type: String,
        required: true,
      },
      lastName: {
        type: String,
        required: true,
      },
      password: {
        type: String,
        required: true
      },
      role: {
        type: String,
        default: "ADMIN",
        required: true,
        enum: ["ADMIN", "ROOT"],
      },
      isVerified: {
        type: Boolean,
        default: false,
        required: true,
      },
      isBlocked: {
        type: Boolean,
        default: false,
        required: true,
      },
    },
    { timestamps: true }
  );```

Сейчас в Java У меня есть следующее:

@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class User {
  public static final String DEFAULT_ROLE = "ADMIN";

  @BsonProperty("_id")
  private ObjectId _id;

  private String username;
  private String password;
  private String name;
  private String lastName;

  @Builder.Default private Boolean isVerified = false;
  @Builder.Default private Boolean isBlocked = true;

  @Builder.Default private String role = DEFAULT_ROLE;

  private String token;
}

Я не понимаю, как это сделать с клиентом MongoDB в Java. Мой вопрос нацелен на отсутствие уникальных полей, я бы не хотел искать, чтобы увидеть, есть ли что-то уже в БД>

Кто-нибудь знает, возможно ли это?

Спасибо.

...