C# mongodbson在C中创建#

C# mongodbson在C中创建#,c#,mongodb,C#,Mongodb,我是MongoDB的新手,我想做的是在property address下,我想保存个人的姓名和年龄,每个属性可能有一个人,或者不止一个人,所以我尝试只使用姓名,但我遇到了错误 Json C#代码 列表名称=新列表(); 姓名。添加(“第1人”); 姓名。添加(“第2人”); 姓名。添加(“第3人”); 姓名。添加(“第4人”); var文档=新的BsonDocument{ {“财产”,“10”}, {“地址”,“这是地址1”}, {“城市”、“城市名称”}, {“家庭成员”,新贝索纳雷{ 新的B

我是MongoDB的新手,我想做的是在property address下,我想保存个人的姓名和年龄,每个属性可能有一个人,或者不止一个人,所以我尝试只使用姓名,但我遇到了错误

Json

C#代码

列表名称=新列表();
姓名。添加(“第1人”);
姓名。添加(“第2人”);
姓名。添加(“第3人”);
姓名。添加(“第4人”);
var文档=新的BsonDocument{
{“财产”,“10”},
{“地址”,“这是地址1”},
{“城市”、“城市名称”},
{“家庭成员”,新贝索纳雷{
新的BsonDocument{{“name”,names.ToBsonDocument()}
} }
};
但是我犯了一个错误

数组值不能写入BSON文档的根级别


期待您的帮助。

好的,您可以像这样使用
BsonArray(IEnumerable strings)
构造函数:

var names = new[]
{
    "Person 1",
    "Person 2",
    "Person 3",
    "Person 4"
};

var document = new BsonDocument
{
    {"property", "10"},
    {"address", "this is address 1"},
    {"city", "city name"},
    {"Family Members", new BsonArray(names)}
};
这一结果是:

{ 
    {
        "property" : "10",
        "address" : "this is address 1",
        "city" : "city name",
        "Family Members" : ["Person 1", "Person 2", "Person 3", "Person 4"]
    }
}

谢谢veeram,如果我将我的c#code更改为var document=new BsonDocument{{{“property”,“10},{“address”,“这是地址1},{“city”,“city name”},{“Family Members”,new BsonDocument{“name”,“Person1”},{“age”,33},新的BsonDocument{{“name”,“Person2”},{“age”,63},新的BsonDocument{“name”,“Person3”},{“age”,23};它可以工作,但当我尝试使用list时,我会出错
var names = new[]
{
    "Person 1",
    "Person 2",
    "Person 3",
    "Person 4"
};

var document = new BsonDocument
{
    {"property", "10"},
    {"address", "this is address 1"},
    {"city", "city name"},
    {"Family Members", new BsonArray(names)}
};
{ 
    {
        "property" : "10",
        "address" : "this is address 1",
        "city" : "city name",
        "Family Members" : ["Person 1", "Person 2", "Person 3", "Person 4"]
    }
}