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

Spring Dataで特定のアイテムを表示するときに、特定のフィールドのみを公開しますか?

    Spring Data RESTを使用する場合、このために特別に設計されたものがあります。 プロジェクションと抜粋の概念があります それを使用すると、何をどのように返すかを指定できます。

    まず、必要なフィールドのみを含むインターフェイスを作成します。

    @Projection(name="personSummary", types={Person.class})
    public interface PersonSummary {
        String getEmail();
        String getId();
        String getName();
    }
    

    次に、PersonRepository これをデフォルトとして使用するように追加します(コレクションを返すメソッドにのみ適用されます!)。

    @RepositoryRestResource(excerptProjection = PersonSummary.class)
    public interface PersonRepository extends CrudRepository<Person, String> {}
    

    次に、コレクションのクエリを実行すると、プロジェクションで指定されたフィールドのみが取得され、単一のインスタンスを取得すると、完全なオブジェクトが取得されます。



    1. mongodb、複製とエラー:{$ err:マスターではなくslaveOk =false、コード:13435}

    2. has_manyを実装する方法:Mongoidおよびmongodbとの関係を介して?

    3. socket.io-redisの使用例

    4. C#ドライバーを使用して、MongoDBの配列のサブドキュメントに含まれる配列のサブドキュメントのフィールドを更新するにはどうすればよいですか?