无论
HashSet<string> aaa { get; set; }
或
List<string> aaa { get; set; }
或
string[] aaa { get; set; }
也存储为:
"aaa": {
"0": "bbb",
"1": "ccc"
},
无法存储为
"aaa": ["bbb", "ccc"]
答案 0 :(得分: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序列化注释吗?你有自定义类地图吗?