Powershell からの MongoDB データ連携タスクを自動化

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

MongoDB ADO.NET Provider

MongoDB ドキュメントデータベースを組み込んだパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。



PowerShell から MongoDB に簡単に接続する方法をお探しですか? CData ADO.NET Provider for MongoDB は、PowerShell スクリプトの優位性を使い、シンプルで簡単に使えるADO.NET インターフェース を提供します。PowerShell スクリプトで、ADO.NET オブジェクトを使って簡単にMongoDB に接続して、同期、自動化、ダウンロードなどが可能!



CData ADO.NET Provider for MongoDB は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからMongoDB API へのデータ連携を可能にします。このプロバイダーは、MongoDB の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。

クエリの実行

次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムMongoDB に実行:

  1. プロバイダーのアセンブリをロード:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for MongoDB\lib\System.Data.CData.MongoDB.dll")
  2. MongoDB に接続:

    MongoDB への接続には、Server、Database、User、Password プロパティを設定します。MongoDB コレクションにテーブルとしてアクセスするには、自動スキーマ検出を使用することができます。もちろんスキーマ定義の.rsd ファイルを編集して自分でスキーマ定義を書くことも可能です。スキーマに縛られないフリーフォーマットクエリを投げることもできます。

    $constr = "Server=MyServer;Port=27017;Database=test;User=test;Password=Password;" $conn= New-Object System.Data.CData.MongoDB.MongoDBConnection($constr) $conn.Open()
  3. MongoDBDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

    $sql="SELECT borough, cuisine from restaurants" $da= New-Object System.Data.CData.MongoDB.MongoDBDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.borough $_.cuisine }

MongoDB データの更新

$cmd = New-Object System.Data.CData.MongoDBCommand("UPDATE restaurants SET Name='Morris Park Bake Shop' WHERE _id = @my_id", $conn) $cmd.Parameters.Add(new System.Data.CData.MongoDBParameter("my_id","10456255-0015501366")) $cmd.ExecuteNonQuery()

MongoDB へのデータの挿入

$cmd = New-Object System.Data.CData.MongoDBCommand("UPDATE restaurants SET Name='Morris Park Bake Shop' WHERE _id = @my_id", $conn) $cmd.Parameters.Add(new System.Data.CData.MongoDBParameter("my_id","10456255-0015501366")) $cmd.ExecuteNonQuery()

MongoDB データの削除

$cmd = New-Object System.Data.CData.MongoDBCommand("UPDATE restaurants SET Name='Morris Park Bake Shop' WHERE _id = @my_id", $conn) $cmd.Parameters.Add(new System.Data.CData.MongoDBParameter("my_id","10456255-0015501366")) $cmd.ExecuteNonQuery()