मैं नीचे दिए गए कोड में सीआरयूडी संचालन करने के लिए मोंगो रिपोजिटरी का उपयोग कर रहा हूं। यद्यपि यह कोड काम करता है, लेकिन दस्तावेजों और संग्रहों को एक अलग डीबी में बनाया गया है जो मैं चाहता हूं। मैं स्पष्ट रूप से एक डीबी नाम कैसे निर्दिष्ट कर सकता हूं कि कौन से दस्तावेज़ संग्रहीत किए जाएंगे।वसंत डेटा में डेटाबेस नाम निर्दिष्ट करने के लिए कैसे करें mongoDB
POJO वर्ग:
@Document(collection = "actors")
public class Actor
{
@Id
private String id;
...
//constructor
//setters & getters
}
भंडार:
public interface ActorRepository extends MongoRepository<Actor, String>
{
public Actor findByFNameAndLName(String fName, String lName);
public Actor findByFName (String fName);
public Actor findByLName(String lName);
}
सेवा भंडार का उपयोग करता है:
@Service
public class ActorService
{
@Autowired
private ActorRepository actorRepository;
public Actor insert(Actor a)
{
a.setId(null);
return actorRepository.save(a);
}
}
और मैं एक बाकी नियंत्रक वर्ग से सेवा का उपयोग:
@RestController
public class Controllers
{
private static final Logger logger = Logger.getLogger(Controllers.class);
private static final ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class);
@Autowire
private ActorService actorService;
@RequestMapping(value="/createActor", method=RequestMethod.POST)
public @ResponseBody String createActor(@RequestParam(value = "fName") String fName,
@RequestParam(value = "lName") String lName,
@RequestParam(value = "role") String role)
{
return actorService.insert(new Actor(null,fName,lName,role)).toString();
}
...
}
मैंने इस वसंत mongoDB कॉन्फ़िगरेशन क्लास को बनाया है जिसमें डीबी नाम सेट करने का विकल्प है, लेकिन यह पता नहीं लगा सकता कि उपरोक्त भंडारों के साथ इसका उपयोग कैसे किया जाए।
@Configuration
public class SpringMongoConfig extends AbstractMongoConfiguration
{
@Bean
public GridFsTemplate gridFsTemplate() throws Exception
{
return new GridFsTemplate(mongoDbFactory(), mappingMongoConverter());
}
@Override
protected String getDatabaseName()
{
return "MyDB";
}
@Override
@Bean
public Mongo mongo() throws Exception
{
return new MongoClient("localhost" , 27017);
}
public @Bean MongoTemplate mongoTemplate() throws Exception
{
return new MongoTemplate(mongo(), getDatabaseName());
}
}
क्या आपको अपना उत्तर मिला है? इस ट्यूटोरियल का पालन करने के बाद एक ही समस्या के साथ अटक गया: https://spring.io/guides/gs/accessing-mongodb-data-rest/ – Mussa
दुर्भाग्य से, नहीं। – Sami