スモールデータで使うPowerShellとmongoDB

最近良く耳にするmongoDB。NoSQL、スキーマレスって何? 良くわからないのでちょこっと使ってみることにしました。

2013-01-01から1年間の記事一覧

PowerShellからmongoDBのAggregationを実行する(パイロット版)

mongoDBクライアントからの実行が便利なのでわざわざPowerShellから実行する必要もないのですが、他にやっている人もいないようなので試行錯誤の結果を公開してみます。使用するデータは前回と同じものです。要は、mongoDBクライアントで使用したパラメータ…

Aggregation Framework は便利

mongoDBの集計機能、Aggregationフレームワークが便利です。 使用例 テスト用のデータは、"number"というキーに1~10000を順番に入れて作った単純なものです。> db.testcollection.find() { "_id" : ObjectId("519b6ec5fcb9577fd21fcbda"), "number" : 1 } {…

デジカメ画像のExifデータをPowerShellで取得してmongoDBに入れる(PowerShell Image Module)スクリプト

# デジカメ画像ファイル格納パス $pathname = "C:\mongodb\imgs" # jpegファイル一覧 $files = Get-ChildItem $pathname -Recurse | Where-Object {$_.Extension -eq ".jpg"} # PowerShell Image Moduleのロード Import-Module Image # DB Driverパス指定 $d…

デジカメ画像のExifデータをPowerShellで取得してmongoDBに入れる(PowerShell Image Module)準備

先日、jhead.exeを使用してExifデータを取得する方法を記載しましたが、PowerShellで完結する方法がありました。 但し、この方法はvista以上のOSでしか動かないようです。当方は、Windows7 64bitで動作を確認しています。 追記:モジュール内でWia.ImageFile…

mongoDBってビッグデータ用?

最近、良く耳にするmongoDB。NoSQL、スキーマレスって言われても良くわかんなぁ~いので環境作ってみました。 2、3日使ってみただけですが、mongoDBに惚れ込んでしまいました。 インストールが楽でびっくり 先のエントリにも書きましたがファイルの配置だ…

スキーマレスって何がいいの?

Exifデータはカメラの機種によって下記のように保有している項目数が違います。 新しい機種ほど項目が多いようです。 Canon PowerShot A620 File name C:\mongodb\imgs\100323\IMG_5502.JPG File size 678776 bytes File date 2010:03:23 11:23:52 Camera ma…

mongoDB重複データの削除

PowerShellコンソールでファイル数をカウント。 14ファイルあります。 PS > $files = Get-ChildItem $pathname -Recurse | Where-Object {$_.Extension -eq ".jpg"} PS > $files.length 14 PowerShellスクリプトでmongoDBを更新。 mongoDBクライアントでカウ…

mongoDBクライアント(Windows DOSプロンプト)を使ってみる

Windows DOSプロンプトからmongoDBクライアントを起動する C:\Users\adminstrator>C:\mongodb\bin\mongo MongoDB shell version: 2.4.1 connecting to: test > DB一覧の表示 > show dbs exifdb 0.203125GB local 0.078125GB test (empty) DBへのswitch > use…

デジカメ画像のExifデータをPowerShellで取得してmongoDBに入れる(jhead使用)その3

# # main処理 # # 外部プログラム名はフルパスで指定する $strCmd = "C:\mongodb\util\jhead.exe" # デジカメ画像ファイル格納パス $pathname = "C:\mongodb\imgs" # jpegファイル一覧 $files = Get-ChildItem $pathname -Recurse | Where-Object {$_.Extens…

デジカメ画像のExifデータをPowerShellで取得してmongoDBに入れる(jhead使用)その2

処理の流れ 画像ファイルフルパス名の取得 jheadの引数として必要。 jheadの出力をPowerShellで受け取る 一旦ファイルに吐き出す等、やり方はいろいろあると思いますが、今回は、以下サイトの関数を使用し、jheadの標準出力をPowerShellで受け取ってみました…

デジカメ画像のExifデータをPowerShellで取得してmongoDBに入れる(jhead使用)その1

準備 Exif Jpeg header manipulation tool jhead(Widows版)のダウンロード http://www.sentex.net/~mwandel/jhead/ これまた適当なディレクトリに配置 (例)C:\mongodb\util\jhead.exe DOSプロンプトから使ってみる c:\mongodb\util>jhead C:\img\101_052…

PowerShellからmongoDBを使うには、CSharpDriverが必要

CSharpDriverのダウンロード https://github.com/mongodb/mongo-csharp-driver/downloads CSharpDriverの配置 どこでもいい (例) C:\mongodb\driver\CSharpDriver-1.7.0.4714" PowerShellスクリプトでの使用準備 # dllのパスを指定する $driver_path = "C:…

mongoDB Windows版インストールは簡単でいいね!

mongoDBダウンロード http://www.mongodb.org/downloads より32bit or 64bitのZipファイルをダウンロード。 展開後、適当なディレクトリに配置。特にレジストリとかもさわらないのでC:\mongodbとかの下にまとめて入れておけば管理も楽。 ファイル配置後にす…

NoSQL、スキーマレスって何?

最近良く耳にするmongoDB。NoSQL、スキーマレスって何? 良くわからないのでちょこっと使ってみることにしました。 まずは、お手軽にWindowsスタンドアローンな環境でPowerShellと連携してみます。