MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak pobrać wszystkie osadzone wartości dokumentu za pomocą oficjalnego sterownika C# dla MongoDB?

Powinieneś załadować pytanie (jak w powyższym kodzie) i użyć linq lub foreach, aby uzyskać element odpowiedzi z określonym _id. Kod będzie wyglądał tak:

List<Question> list = new List<Question>();
MongoServer _server = MongoServer.Create("mongodb://localhost");
MongoDatabase _database = _server.GetDatabase("test");
var query = Query.And(Query.EQ("AnswerChoices._id", new ObjectId("4d6d336ae0f84c23bc1fae00")));
MongoCollection<Question> collection = _database.GetCollection<Question>("Question");
MongoCursor<Question> cursor = collection.Find(query);

var id = new ObjectId("4d6d336ae0f84c23bc1fae00");
foreach (var q in cursor)
{
    var answerChoice = q.AnswerChoices.Single(x=> x.AnswerChoiceId == id);
    list.Add(q);
}

Proponuję również zamiast Find użyć metody FindOne (ponieważ przypuszczam, że na pewno istnieje tylko jedna odpowiedź z podanym powyżej _id).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy mangusta pozwala na jednoczesne wysyłanie wielu żądań do bazy danych?

  2. Indeks w MongoDB

  3. Jak dodaćToSet z polem daty?

  4. Łączenie się z MongoDB z funkcji azure

  5. Czy MongoDB ma natywny interfejs REST?