[컴] Powershell 사용하기 - 2 - mongodb 접속 프로그램




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

  1. Query and update data on MongoDB using PowerShell | Daniel Weber
  2. PowerShell - Special Characters And Tokens - Welcome to Neolisk's Tech Blog
  3. Windows PowerShell Syntax | Grammar Rules for Script Operators
  4. Example of using the 10gen MongoDB CSharp driver in powershell.


댓글 없음:

댓글 쓰기