MongoClient
. का इंस्टेंस बनाने के कुछ तरीके यहां दिए गए हैं , इसे स्प्रिंग बूट एप्लिकेशन में कॉन्फ़िगर और उपयोग करना।
(1) जावा-आधारित मेटाडेटा का उपयोग करके एक मोंगो इंस्टेंस पंजीकृत करना:
@Configuration
public class AppConfig {
public @Bean MongoClient mongoClient() {
return MongoClients.create();
}
}
CommandLineRunner
. से उपयोग का run
विधि (सभी उदाहरण समान रूप से चलाए जाते हैं ):
@Autowired
MongoClient mongoClient;
// Retrieves a document from the "test1" collection and "test" database.
// Note the MongoDB Java Driver API methods are used here.
private void getDocument() {
MongoDatabase database = client.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("test1");
Document myDoc = collection.find().first();
System.out.println(myDoc.toJson());
}
(2) AbstractMongoClientConfiguration क्लास का उपयोग करके कॉन्फ़िगर करें और MongoOperations के साथ उपयोग करें:
@Configuration
public class MongoClientConfiguration extends AbstractMongoClientConfiguration {
@Override
public MongoClient mongoClient() {
return MongoClients.create();
}
@Override
protected String getDatabaseName() {
return "newDB";
}
}
ध्यान दें कि आप डेटाबेस का नाम सेट कर सकते हैं (newDB
) से जुड़ सकते हैं। इस कॉन्फ़िगरेशन का उपयोग स्प्रिंग डेटा MongoDB API का उपयोग करके MongoDB डेटाबेस के साथ काम करने के लिए किया जाता है:MongoOperations
(और इसका क्रियान्वयन MongoTemplate
) और MongoRepository
।
@Autowired
MongoOperations mongoOps;
// Connects to "newDB" database, and gets a count of all documents in the "test2" collection.
// Uses the MongoOperations interface methods.
private void getCollectionSize() {
Query query = new Query();
long n = mongoOps.count(query, "test2");
System.out.println("Collection size: " + n);
}
(3) AbstractMongoClientConfiguration क्लास का उपयोग करके कॉन्फ़िगर करें और MongoRepository के साथ उपयोग करें
समान कॉन्फ़िगरेशन का उपयोग करना MongoClientConfiguration
कक्षा (विषय 2 में ऊपर ), लेकिन इसके अतिरिक्त @EnableMongoRepositories
. के साथ एनोटेट करें . इस मामले में हम उपयोग करेंगे MongoRepository
जावा ऑब्जेक्ट के रूप में संग्रह डेटा प्राप्त करने के लिए इंटरफ़ेस विधियाँ।
भंडार:
@Repository
public interface MyRepository extends MongoRepository<Test3, String> {
}
Test3.java
POJO वर्ग test3
का प्रतिनिधित्व करता है संग्रह का दस्तावेज़:
public class Test3 {
private String id;
private String fld;
public Test3() {
}
// Getter and setter methods for the two fields
// Override 'toString' method
...
}
दस्तावेज़ प्राप्त करने और Java ऑब्जेक्ट के रूप में प्रिंट करने के लिए निम्न विधि:
@Autowired
MyRepository repository;
// Method to get all the `test3` collection documents as Java objects.
private void getCollectionObjects() {
List<Test3> list = repository.findAll();
list.forEach(System.out::println);
}