0

자바에서

public static void main(String[] args) { 
    Matcher m = Pattern .compile("^(.*?[.].*?[.].*?[.].*?)[.].*") 
         .matcher(
           "com.SEM.Google.Generico.space.test"); 
    if (m.matches()) { 
     System.out.println(m.group(1)); 
    } 
} 

이것은 결과적으로 저를 줄 것입니다 수 있습니다 : com.SEM.Google.Generico

내가 MongoDB를

의 문자열이있는 경우

"DV": "com.SEM.Google.Generico.space.test"

내가 사용할 수 있습니다 몽고 집계 프레임 워크는 어떻게 든 com.SEM.Google.Generico 결과로 얻을 수 있습니까?

최대한 일반 사항이어야합니다. 따라서 뭔가가 아닙니다

$project: { 
    pathString: { 
     $substr: ["$path.dv", 0, 23] 
    } 

} 

이 모든 것이 가능합니까? 감사합니다. .

답변

2

없음을 생산해야한다,이 작업을 수행 할 수있는 방법이 없습니다.

이 기능은 2 년 전에 요청되었지만 아직 구현되지 않았습니다 (열린 jira 문제 : https://jira.mongodb.org/browse/SERVER-11947 참조). $ substr을 사용하고 싶지 않다면 쿼리 결과에 정규식을 적용해야한다고 생각합니다 ...

0
var pattern = "Your Regex Pattern" 
db.yourCollectionName.find({ "dv": { $regex: pattern} }) 

원하는 결과