2014-11-20 92 views
6

在我的MongoDB集合中,我有一个包含数组条目的文档。如何在C#中将这些数组值作为字符串数组?我可以将文档本身恢复正常,但我似乎无法获取数组值。这是我到:C#:从bson文档检索数组值

QueryDocument findUser = new QueryDocument("_id" , id); 
BsonDocument user = bsonCollection.FindOne(findUser); 

所以这user文件中,还有,我想获得和解析为一个字符串数组的数组。该文件看起来是这样的:

{ 
    "firstname" : "jon", 
    "secondname" : "smith", 
    "loves" : ["this","that","other stuff"] 
} 
+0

样本文档将是问题 – Disposer 2014-11-20 18:48:20

+0

答案不错更新 – Disposer 2014-11-20 19:11:41

回答

9

如果我正确地得到了你的问题,一种方法是:

var queryString = Query.EQ("_id", id); 
var resultBsons = collection.FindOne(queryString); 
var arrayOfStrings = resultBsons["loves"].AsBsonArray.Select(p => p.AsString).ToArray(); 
+0

烨这点上,谢谢! :d – 2014-11-20 20:08:39