MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

स्प्रिंग डेटा MongoDB के साथ संग्रह आधारित बहु किरायेदारी

किसी दिए गए टैनेंट के लिए अनुक्रमणिका को फिर से बनाने का तरीका मिला:

String tenantName = ...;

MongoMappingContext mappingContext = (MongoMappingContext) mongoTemplate.getConverter().getMappingContext();
MongoPersistentEntityIndexResolver resolver = new MongoPersistentEntityIndexResolver(mappingContext);

for (BasicMongoPersistentEntity entity : mappingContext.getPersistentEntities()) {
    if (entity.findAnnotation(Document.class) == null) {
        // Keep only collection roots
        continue;
    }

    String collectionName = entity.getCollection();
    if (!collectionName.startsWith(tenantName)) {
        // Keep only dynamic entities
        continue;
    }

    IndexOperations indexOperations = mongoTemplate.indexOps(collectionName);
    for (MongoPersistentEntityIndexResolver.IndexDefinitionHolder holder : resolver.resolveIndexForEntity(entity)) {
        indexOperations.ensureIndex(holder.getIndexDefinition());
    }
}

मुझे यह पता लगाने में कुछ समय लगा। आशा है कि इससे मदद मिलेगी। सुधारों का स्वागत है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB के साथ गुणा एकत्रीकरण का उपयोग करना

  2. pymongo update_one (), upsert =$ ऑपरेटरों का उपयोग किए बिना सच है

  3. MongoDB - नेस्टेड सरणी के फ़ील्ड मान के आधार पर किसी सरणी ऑब्जेक्ट में फ़ील्ड अपडेट करें

  4. एमजीओ अपरर्ट ऑपरेशन को अनुकूलित करें

  5. mongodb में इस उपयोगकर्ता संग्रह में इस विशिष्ट डेटा को कैसे अपडेट करें?