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 也可以工作。你有任何自定义的 BS​​ON 序列化注释吗?你有自定义类地图吗?

于 2013-09-04T17:43:20.557 回答