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

SpringDataMongoDB監査は埋め込みドキュメントでは機能しません

    カスタムのApplicationListenerを使用して解決することにしました

    public class CustomAuditingEventListener implements 
            ApplicationListener<BeforeConvertEvent<Object>> {
    
        @Override
        public void onApplicationEvent(BeforeConvertEvent<Object> event) {
            Object source = event.getSource();
            if (source instanceof ParentDocument) {
                DateTime currentTime = DateTime.now();
                ParentDocument parent = (ParentDocument) source;
                parent.getChildren().forEach(item -> item.setUpdated(currentTime));
            }
        }
    }
    

    次に、対応するBeanをアプリケーションコンテキストに追加します

    <bean id="customAuditingEventListener" class="app.CustomAuditingEventListener"/>
    


    1. マングース-循環依存の可能性?

    2. Laravelのredisパイプライン機能の外部で変数にアクセスする

    3. Djangoチャネルエラー-バックエンドをインポートできません'asgi_redis.RedisChannelLayer'

    4. 多数のドキュメント用のシャーディングキー(MongoDB)