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

春のデータmongoのMongodb$lookup

    SpringDataMongoDBを使用して2つのコレクションを結合する

    従業員クラス

    class Employee {
        private String _id;
        private String name;
        private String dept_id;
    }
    

    部門クラス

    class Department {
        private String _id;
        private String dept_name;
    }
    

    従業員結果クラス

    public class EmpDeptResult {
    
        private String _id;
        private String name;
        private List<Object> departments;
    }
    

    EmployeeServiceクラス

    public class EmployeeService {
    
        @Autowired
        private MongoTemplate mongoTemplate;
    
        private Logger LOGGER = LoggerFactory.getLogger(EmployeeService.class);
    
        public void lookupOperation(){
        LookupOperation lookupOperation = LookupOperation.newLookup()
                            .from("Department")
                            .localField("dept_id")
                            .foreignField("_id")
                            .as("departments");
    
        Aggregation aggregation = Aggregation.newAggregation(Aggregation.match(Criteria.where("_id").is("1")) , lookupOperation);
            List<EmpDeptResult> results = mongoTemplate.aggregate(aggregation, "Employee", EmpDeptResult.class).getMappedResults();
            LOGGER.info("Obj Size " +results.size());
        }
    }
    


    1. 配列の長さによるMongoの順序

    2. 生産中のMongoDBとMongoid

    3. MongoDBを使用して、要素の位置が不明な場合にサブ配列のサブドキュメントを更新するにはどうすればよいですか?

    4. PHPスクリプトからRedisに接続しようとしたときに許可が拒否されたトラブルシューティング