2017-01-21 94 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"] 
    } 
} 
相關問題