2017-09-08 8 views
1

pymongo를 사용하여 mongodb 3.4+보기를 만드는 방법을 찾고 있습니다. mongo의 명령은 다음과 같습니다.pymongo를 사용하여 몽고 뷰를 만드는 방법은 무엇입니까?

db.getCollection('parsed_tests').aggregate([{ 
$lookup: { 
     from: "raw_tests", 
     localField: "repository_path", 
     foreignField: "repository_path", 
     as: "raw_data" 
    } 
}]) 

초기화 스크립트가 하나만있는 상태로 만들고 싶습니다. 누구든지이 일을 처리 했습니까?

+0

'.aggregate()'에 전달한 파이프 라인으로보기를 만들고 싶습니까? – styvane

+0

네, 맞습니다. – niedakh

답변

1

PyMongo는보기를 만들기 위해 Database 메서드를 제공하지 않습니다. 그러나 create 명령을 실행하여 command 방법으로보기를 만들 수 있습니다. 사실 createViewcreate 명령에 대한 랩퍼 일뿐입니다.

db.command({ 
    "create": "parsed_tests_view", 
    "viewOn": "parsed_tests", 
    "pipeline": pipeline 
}) 
0

sstyvane이 말한 것처럼 명시적인 데이터베이스 명령을 제공해야합니다. 불행하게도, 그들은 구문을 틀리게 받아 들였다.

이 나를 위해 일한 : 이전 당신은 버전 3.2에서 업그레이드하는 몽고의 인스턴스를 가지고있는 경우,

db.command('create', 'parsed_and_raw_tests', viewOn='parsed_tests', pipeline=my_pipeline)

또한 또는, 당신은 당신이보기를 만들 수 있습니다 need to set the feature compatibility version to 3.4 것입니다 전에.