MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да извлека цялата стойност на вградения документ с помощта на официалния C# драйвер за MongoDB?

Трябва да заредите въпрос (както в кода по-горе) и да използвате linq или foreach, за да получите отговор на елемент с посочен _id. Така кодът ще изглежда така:

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);
}

Също така предлагам вместо Find да използвате метода FindOne (защото предполагам, че сте сигурни, че съществува само един отговор с посочения по-горе _id).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Търсене на вложени документи в MongoDB

  2. Как мога да генерирам ObjectId с mongoose?

  3. Неуспешно удостоверяване при използване на flask_pymongo

  4. Съвети за съхранение на резервни копия на MongoDB в облака

  5. Как да използвате MongoDB Stitch в приложения за Android