Spędziłem wiele godzin szukając odpowiedzi ... Jest to bardzo łatwe w PHP, ale po prostu nie mogę go umieścić w C# (jestem nowy w C# i mongo ...) Próbuję iterować przez wszystkie poziomy przechowywanego dokumentu. Dokument wygląda następująco:mongodb C# jak pracować z dokumentem BSON
{
"_id" : ObjectId("51f90101853bd88971ecdf27"),
"fields" : [{
"ID" : ObjectId("51fd09498b080ee40c00514e"),
"NAME" : "ID",
"TYPE" : "Text"
}, {
"ID" : ObjectId("51fd09a68b080ee40c0064db"),
"NAME" : "Title",
"TYPE" : "Text"
}, {
"ID" : ObjectId("51fd09b28b080ee40c004d31"),
"NAME" : "Start Date",
"TYPE" : "Date"
}, {
"ID" : ObjectId("51fd09c28b080ee40c007f2e"),
"NAME" : "Long Description",
"TYPE" : "Memo"
}],
"name" : "TODB",
"updated" : "Wed Jul 31 2013 08:20:17 GMT-0400 (Eastern Daylight Time)"
}
mam żadnego problemu z dostępem do „nazwa” i „zaktualizowany”, ale nie może dowiedzieć się, jak uzyskać dostęp do „pola” tablicę.
kod do tej pory:
{
MongoServer mongo = MongoServer.Create();
mongo.Connect();
var db = mongo.GetDatabase("forms");
mongo.RequestStart(db);
var collection = db.GetCollection("forms");
var query = new QueryDocument("name", "TODB");
mongo.Disconnect();
}
@foreach(BsonDocument item in collection.Find(query))
{
@item.GetElement("name").Value
@item.GetElement("_id").Value
}
Znowu jestem w stanie uzyskać dostęp do nazwy i _id prostu nie każdy z wartości dokumentów podrzędnych.
Z góry dziękujemy za wszelką pomoc! Po uzyskać odczyt zorientowali się, ja też będzie chciał zapisywać dane ....
Czy wiesz, że istnieje coś prostego? Podobnie jak Key.Key.Key? bo naprawdę źle działa ["klucz"] ["klucz"] ["klucz"]. AsString, jeśli masz zapisaną bułkę breadcrumb – Fraga
Nie jestem pewien, co masz na myśli przez bułkę tartą w tym kontekście. Obiekt ma indeksator do pobierania pól według nazwy. Jeśli nie utworzysz klasy ściśle napisanej, nie uzyskasz doświadczenia, którego prawdopodobnie szukasz. – WiredPrairie