2014-11-20 8 views
6

Nella mia raccolta MongoDB, ho un documento con una voce di array. Come ottengo questi valori di matrice come una matrice di stringhe in C#? Posso recuperare il documento stesso, ma non riesco a ottenere i valori dell'array. Questo è dove sono fino a:C#: recupera i valori dell'array dal documento bson

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

Quindi, in questo documento user, v'è una serie che mi piacerebbe ottenere e analizzare in una matrice di stringhe. Il documento simile a questa:

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

un documento di esempio sarebbe bello per la domanda – Disposer

+0

risposta viene aggiornato – Disposer

risposta

9

Se ho ricevuto correttamente il problema, Un approccio è:

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

Yup che è posto in poi, grazie ! : D –

Problemi correlati