Macでやりたいのでここからzipをダウンロードする。
http://driver-downloads.mongodb.org/dotnet/index.html
ちなみにこちらではgitとかから落とせる手順
http://docs.mongodb.org/ecosystem/tutorial/use-csharp-driver/#csharp-driver-tutorial-downloading
公式: http://docs.mongodb.org/ecosystem/drivers/csharp/
→ おそらくUnityのではMonoのバージョンが古くて動かないっぽい。
・動かないというやりとり
URLその1: http://grokbase.com/p/gg/mongodb-csharp/131qh77maj/mongodb-user-re-were-planning-to-make-net-4-the-minimum-requirement-for-the-c-net-driver
URLその2: https://groups.google.com/forum/#!topic/mongodb-csharp/v5bR6bmXxGg
しかし、テキトーに探してると、「monodevelop-mongodb-provider」なるもの
こちらのはできた。
monodevelop-mongodb-providerのgithubのURL: https://github.com/schamane/monodevelop-mongodb-provider
・MongoDB.Bson.dll
・MongoDB.Driver.dll
をUnityのpluginsにぶっこむ。僕は「MongoDB」フォルダを生成してから行った。
「plugins/MongoDB」
この「けさらんぱさらん」というサイトを参考にした。
URL: http://d.hatena.ne.jp/cer1974/20120427/1335539220
・MongoDBTest.cs
using UnityEngine; using System.Collections; using System.Collections.Generic; using System; // MongoDB dll using MongoDB.Driver; using MongoDB.Driver.Builders; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; public class MongoDBTest : MonoBehaviour { // Use this for initialization void Start () { // mongodb://[username:password@]hostname[:port][/[database][?options]] var server = MongoServer.Create ("mongodb://localhost"); var db = server.GetDatabase ("mydb"); var collection = db.GetCollection ("entities"); var entry = new AddressEntry () { Name = "Mr.name", Birthday = DateTime.Parse ("1964/02/03"), EmailAddrs = new List<Email> () { new Email () { DisplayName = "momo", MailAddress = "T.Sumomo@momo.com" }, new Email () { DisplayName = "bono", MailAddress = "Bonobono@bono.jp" } } }; collection.Insert (entry); } [BsonIgnoreExtraElements] public class AddressEntry { //[BsonId] ここをコメントアウトしないとIDが必至になってしまうのでコメントアウトした //public BsonObjectId _id { get; set; } public string Name { get; set; } public DateTime Birthday { get; set; } public List<Email> EmailAddrs { get; set; } } [BsonIgnoreExtraElements] public class Email { public string DisplayName { get; set; } public string MailAddress { get; set; } } }
→ これを実行した。
・コンソールでの確認
& mongo MongoDB shell version: 2.2.0 connecting to: test > use mydb switched to db mydb > db.entities.find() { "_id" : ObjectId("51f87ed9f70ac5769e2683ad"), "Name" : "Mr.name", "Birthday" : ISODate("1964-02-02T15:00:00Z"), "EmailAddrs" : [ { "DisplayName" : "momo", "MailAddress" : "T.Sumomo@momo.com" }, { "DisplayName" : "bono", "MailAddress" : "Bonobono@bono.jp" } ] }
な感じになる。