indexDefinition.unique();
@Override public void afterPropertiesSet() throws Exception { if (this.mongoTemplate == null) { if (this.mappingMongoConverter == null) { this.mappingMongoConverter = new MappingMongoConverter(new DefaultDbRefResolver(this.mongoDbFactory), new MongoMappingContext()); this.mappingMongoConverter.setApplicationContext(this.applicationContext); List<Object> customConverters = new ArrayList<Object>(); customConverters.add(new MessageToBinaryConverter()); customConverters.add(new BinaryToMessageConverter()); this.mappingMongoConverter.setCustomConversions(new MongoCustomConversions(customConverters)); this.mappingMongoConverter.afterPropertiesSet(); } this.mongoTemplate = new MongoTemplate(this.mongoDbFactory, this.mappingMongoConverter); } this.messageBuilderFactory = IntegrationUtils.getMessageBuilderFactory(this.applicationContext); IndexOperations indexOperations = this.mongoTemplate.indexOps(this.collectionName); indexOperations.ensureIndex(new Index(MessageDocumentFields.MESSAGE_ID, Sort.Direction.ASC)); indexOperations.ensureIndex(new Index(MessageDocumentFields.GROUP_ID, Sort.Direction.ASC) .on(MessageDocumentFields.MESSAGE_ID, Sort.Direction.ASC) .unique()); indexOperations.ensureIndex(new Index(MessageDocumentFields.GROUP_ID, Sort.Direction.ASC) .on(MessageDocumentFields.LAST_MODIFIED_TIME, Sort.Direction.DESC) .on(MessageDocumentFields.SEQUENCE, Sort.Direction.DESC)); }
indexDefinition.unique();
private void ensureIndex() { IndexOperations indexOperations = mongoTemplate.indexOps(collection); indexOperations.ensureIndex(new Index().on("key", Direction.ASC).unique()); }
@PostConstruct public void ensureIndexes() throws Exception { mongoTemplate().indexOps(GRID_FS_THESIS_CONTENT_BUCKET +".files").ensureIndex(new Index("metadata.thesisMetadataId", Direction.ASC)); mongoTemplate().indexOps(DataClient.class).ensureIndex(new Index().unique().on("name", Direction.ASC)); mongoTemplate().indexOps(InstitutionalServer.class).ensureIndex(new Index().unique().on("institutionId", Direction.ASC)); }
@Override public void afterPropertiesSet() throws Exception { if (this.mongoTemplate == null) { if (this.mappingMongoConverter == null) { this.mappingMongoConverter = new MappingMongoConverter(new DefaultDbRefResolver(this.mongoDbFactory), new MongoMappingContext()); this.mappingMongoConverter.setApplicationContext(this.applicationContext); List<Object> customConverters = new ArrayList<Object>(); customConverters.add(new MessageToBinaryConverter()); customConverters.add(new BinaryToMessageConverter()); this.mappingMongoConverter.setCustomConversions(new MongoCustomConversions(customConverters)); this.mappingMongoConverter.afterPropertiesSet(); } this.mongoTemplate = new MongoTemplate(this.mongoDbFactory, this.mappingMongoConverter); } this.messageBuilderFactory = IntegrationUtils.getMessageBuilderFactory(this.applicationContext); IndexOperations indexOperations = this.mongoTemplate.indexOps(this.collectionName); indexOperations.ensureIndex(new Index(MessageDocumentFields.MESSAGE_ID, Sort.Direction.ASC)); indexOperations.ensureIndex(new Index(MessageDocumentFields.GROUP_ID, Sort.Direction.ASC) .on(MessageDocumentFields.MESSAGE_ID, Sort.Direction.ASC) .unique()); indexOperations.ensureIndex(new Index(MessageDocumentFields.GROUP_ID, Sort.Direction.ASC) .on(MessageDocumentFields.LAST_MODIFIED_TIME, Sort.Direction.DESC) .on(MessageDocumentFields.SEQUENCE, Sort.Direction.DESC)); }