sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur hämtar man endast utvalda mongo-ID med vårdatamongorepository-metoden?

Detta fungerar för ett fall där POJO-klassen är som:

public class User {

    private String id;
    private String firstName;
    private String lastName;
    // constructors (including default), get/set methods, etc.
}

Och dokumenten lagras i en samling user som till exempel:

{ "_id" : ObjectId("604827bf8187ce707fb88681"), "firstName" : "John", "lastName" : "Doe", "_class" : "com.example.demo.User" }

Lagret med metoden för att hämta objekten med den medföljande listan med id:

public interface UserRepository extends MongoRepository<User, String> {

    @Aggregation(pipeline = { " { '$match': { '_id': { '$in':  ?0  } } }" } )
    List<User> findByIdsIn(List<String> ids);
}

Anropet till arkivmetoden:

List<String> inputIds = Arrays.asList("604827d13de5773133374acc", "604827617a40155f5111b9ff");
List<User> outputList = userRepository.findByIdsIn(inputIds);

outputList har de två dokument som matchar ID från variabeln inputIds .




  1. com.mongodb.MongoException:pratar inte med befälhavaren och försöken är slut

  2. Skapa ett partiellt index när fältet inte är null

  3. Infoga json-filen i mongodb

  4. Redis :Hur kan jag sortera min hash efter nycklar?