ref. 1 을 참고해서 여기서는 간단하게 mongodb 의 document 를 읽어오는 powershell 프로그램을 작성하자.
MongoDB 용 C# driver 설치
MongoDB 에 query 를 날리기 위해서는 MongoDB 용 C# driver 가 필요하다. 아래에서 download 할 수 있다.CSharpDriver-1.7.0.4714.msi 를 받아서 설치하면 아래 경로에 설치가 된다.
- c:\Program Files (x86)\MongoDB\CSharpDriver 1.7\
MongoDB Aggregation 수행
아래 code 는 mongo db 에서 aggregation 을 실행하는 방법이다.
db.traffic.aggregate( {"$match":{ "datetime" : { "$gte" : "20140701" , "$lte" : "20140711"}} } )
# # Powershell script # # $mongoDbDriverPath = "c:\Program Files (x86)\MongoDB\CSharpDriver 1.7\" Add-Type -Path "$($mongoDbDriverPath)\MongoDB.Bson.dll" Add-Type -Path "$($mongoDbDriverPath)\MongoDB.Driver.dll" $dbName = "myDb" $collectionName = "traffic" $db = [MongoDB.Driver.MongoDatabase]::Create("mongodb://111.111.11.1:15003/$($dbName)") $collection = $db[$collectionName] [MongoDB.Bson.BsonDocument] $datetimeObj = [MongoDB.Bson.BsonDocument]@{ '$gte'='20140701'; '$lte'='20140711' } [MongoDB.Bson.BsonDocument] $matchOp = [MongoDB.Bson.BsonDocument]@{ '$match' = [MongoDB.Bson.BsonDocument] @{ 'datetime' = $datetimeObj } }; $results = $collection.aggregate($matchOp); Write-Output $results.Response['result']
Security Policy
혹시나 Security 관련 error 가 뜨면 security policy 를 Unrestricted 로 해주면 된다.
References
- Query and update data on MongoDB using PowerShell | Daniel Weber
- PowerShell - Special Characters And Tokens - Welcome to Neolisk's Tech Blog
- Windows PowerShell Syntax | Grammar Rules for Script Operators
- Example of using the 10gen MongoDB CSharp driver in powershell.
댓글 없음:
댓글 쓰기