sql >> データベース >  >> NoSQL >> MongoDB

春のデータmongorepositoryメソッドを使用して選択したmongoIDのみをフェッチするにはどうすればよいですか?

    これは、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" }
    

    提供されたIDのリストを持つオブジェクトをフェッチするメソッドを備えたリポジトリ:

    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 2つがあります 変数inputIdsのIDに一致するドキュメント 。




    1. SpringDatamongo-Distinctコレクションの問題

    2. Javaからmongodbに接続したときにコンソールにログオンしないようにするにはどうすればよいですか?

    3. Json.NETがMongoObjectIdを逆シリアル化すると、間違った結果が返されます

    4. MongooseDocumentオブジェクトの子プロパティをフェッチしないドット演算子