यह उस मामले के लिए काम करता है जहां POJO वर्ग इस प्रकार है:
public class User {
private String id;
private String firstName;
private String lastName;
// constructors (including default), get/set methods, etc.
}
और, दस्तावेज़ों को एक संग्रह user
. में संग्रहीत किया जाता है जैसे, उदाहरण के लिए:
{ "_id" : ObjectId("604827bf8187ce707fb88681"), "firstName" : "John", "lastName" : "Doe", "_class" : "com.example.demo.User" }
आईडी की आपूर्ति की गई सूची के साथ वस्तुओं को लाने की विधि के साथ भंडार:
public interface UserRepository extends MongoRepository<User, String> {
@Aggregation(pipeline = { " { '$match': { '_id': { '$in': ?0 } } }" } )
List<User> findByIdsIn(List<String> ids);
}
रिपोजिटरी विधि के लिए कॉल:
List<String> inputIds = Arrays.asList("604827d13de5773133374acc", "604827617a40155f5111b9ff");
List<User> outputList = userRepository.findByIdsIn(inputIds);
outputList
दो . है वेरिएबल inputIds
. के आईडी से मेल खाने वाले दस्तावेज़ ।