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

SpringMongoDBリポジトリは一部の場合にのみ機能します

    mlk として 言及したように、問題は私のシングルトン実装にあり、それがコンテナのスプリングに問題を引き起こしました。 DataMapsFactoryのコードを変更しました 宛先:

    package com.njugroup.flotilla.domain.factories;
    
    import com.njugroup.flotilla.domain.maps.TermsMap;
    import com.njugroup.flotilla.repository.TermsMapRepository;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;
    
    import java.util.Optional;
    
    @Component
    public class DataMapsFactory{
    
        private final Logger log = LoggerFactory.getLogger(TermsMapsFactory.class);
    
        @Autowired
        private TermsMapRepository termsMapRepository;
    
        public TermsMap getDataMapForVehicle(String id) {
            log.debug("Getting data map for: "+id);
            try {
                Optional<TermsMap> map = Optional.ofNullable(termsMapRepository.findOneByEntityId(id));
                log.debug("fetched map: "+map);
                return map.get();
            } catch (Exception e) {
                e.printStackTrace();
                return null;
    
            }
        }
    }
    

    今では魅力のように機能します。




    1. MongoError:「cursor」オプションが必要です。ただし、explain引数を使用した集計は除きます。

    2. mongocreateIndexの背景がシェルをブロックします

    3. アップサートの位置($)での$pushが失敗する

    4. MongoDBでロールバックを防ぐ方法