【F# + ASP.NET Web API】 MongoDBからデータを取得するには

◆ 事前準備

・Nuget からOfficial MongoDB C# driver を導入

◆ Controller

namespace FsWeb.Controllers

open System.Web
open System.Web.Mvc
open System.Net.Http
open System.Web.Http
// #r "System.Runtime.Serialization"
open System.Runtime.Serialization
// MongoDB 関連
open  MongoDB.Bson.Serialization.Attributes
open  MongoDB.Driver.Builders
open  MongoDB.Driver
open  MongoDB.Bson

// JSONの型
[<DataContract>]
type User() =
    [<BsonId>]
    member val _id = ObjectId.GenerateNewId() with get, set
    [<DataMember>]
    member val name = "" with get, set
    [<DataMember>]
    member val email = "" with get, set

type ValuesController() =
    inherit ApiController()
    member x.Get() =
        // MongoDBへ接続
        let server = MongoServer.Create("mongodb://localhost/?safe=true")
        let db = server.GetDatabase("sample_db")        
        // コレクションを取得
        let users = db.GetCollection<User>("users")
        // 条件を指定して、ドキュメントを取得
        let query = Query.And(Query.EQ("name", BsonString.Create("Jiro")))
        users.FindOne(query)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中