1

また

HashSet<string> aaa { get; set; }

また

List<string> aaa { get; set; }

また

string[] aaa { get; set; }

次のようにも保存します。

"aaa": {
     "0": "bbb",
     "1": "ccc" 
},

として保存できません。

"aaa": ["bbb", "ccc"] 

?

4

1 に答える 1

2

最新の 10gen ドライバーを使用した次のコードは、探している形式でドキュメントを生成します。

public class MyDocument
{
    public int id { get; set; }
    public string[] aaa { get; set; }
}

class Program
{
    private static void Main(string[] args)
    {
        var client = new MongoClient("mongodb://localhost");
        var server = client.GetServer();
        var db = server.GetDatabase("temp");
        var coll = db.GetCollection("myDocuments");
        var mydoc = new MyDocument
            {
                id = 1,
                aaa = new[] {"bbb", "ccc"}
            };
        coll.Save(mydoc);
    }
}

結果のドキュメントは次のとおりです。

/* 0 */
{
    "_id" : 1,
    "aaa" : [ 
        "bbb", 
        "ccc"
    ]
}

IList と List も機能します。カスタムの BSON シリアライゼーション アノテーションはありますか? カスタム クラス マップはありますか?

于 2013-09-04T17:43:20.557 に答える