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

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

2013-04-14から1日間の記事一覧

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

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と連携してみます。