MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да извлечете само избрани идентификатори на mongo, като използвате метода на spring data mongorepository?

Това работи за случай, когато класът 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 .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да върна ISO формат на дата в PHP за MongoDB?

  2. cappedMax не работи в winston-mongodb logger в Node.js на Ubuntu

  3. findOne работи, но не получава всички/намери

  4. ГРЕШКА:дъщерен процес е неуспешен, излязъл е с грешка номер 1, mongodb

  5. Уникален индекс не работи с Mongoose / MongoDB