MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak pobrać tylko wybrane identyfikatory mongo za pomocą wiosennej metody mongorepository?

Działa to w przypadku, gdy klasa POJO wygląda następująco:

public class User {

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

A dokumenty są przechowywane w kolekcji user jak na przykład:

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

Repozytorium z metodą pobierania obiektów z dostarczoną listą identyfikatorów:

public interface UserRepository extends MongoRepository<User, String> {

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

Wywołanie metody repozytorium:

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

outputList ma dwa dokumenty pasujące do identyfikatorów ze zmiennej inputIds .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Niezgodny potok agregacji Cosmos DB (Mongo API)?

  2. MongoDB zlicza liczbę nowych dokumentów na minutę na podstawie _id

  3. używanie strumieni akka do przeglądania kolekcji mongo

  4. Budowanie sterownika MongoDB C w systemie Windows

  5. Przekazywanie wartości checkboxów do bazy danych za pomocą JavaScript