2017-01-21 56 views
0

我是MongoDB的新手,我想要做的是在物业地址中我想保存人的姓名和年龄,它可能是一个人的每个属性或多个,所以我尝试只是名字第一,但我得到错误。MongoDB Bson在C中创建#

的Json

{ 
    "property": "This is property address", 
    "address1": "address 1", 
    "address2": "address 2", 
    "city": "city name", 
    "people": [ 
     "Person 1", 
     "Person 2", 
     "Person 3", 
     "Person 4" 
    ] 
} 

C#代码

List<string> names = new List<string>(); 
names.Add("person 1"); 
names.Add("person 2"); 
names.Add("person 3"); 
names.Add("person 4"); 

var document = new BsonDocument { 

    {"property", "10" }, 
    {"address", "this is address 1" }, 
    {"city", "city name" }, 
    {"Family Members", new BsonArray { 
     new BsonDocument { {"name", names.ToBsonDocument() } } 
     } } 
    }; 

但我正在逐渐波纹错误

一个数组值不能被写入到BSON文件的根目录下。

期待你的帮助。

+0

谢谢veeram和格式化 – bigbapu

+0

如果我改变我的C#代码变种文件请见谅=新的BsonDocument {“property”,“10”}, {“address”,“this is address 1”}, {“city”,“city name”}, {“家庭成员”,新的BsonArray {新的BsonDocument {{“姓名”,“Person1”},{“age”,33}}, 新的BsonDocument {{“name”,“Person2”},{“age” ,}}, new BsonDocument {{“name”,“Person3”},{“age”,23}} }} };它的作品,但当我尝试使用列表我得到错误 – bigbapu

回答

0

据我所知,你CON使用BsonArray(IEnumerable<string> 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"] 
    } 
} 
相关问题