sql >> Database >  >> NoSQL >> MongoDB

Hoe alle ingesloten documentwaarde op te halen met behulp van het officiële C#-stuurprogramma voor MongoDB?

U moet de vraag laden (zoals in de bovenstaande code) en linq of foreach gebruiken om een ​​antwoorditem met een opgegeven _id te krijgen. Dus de code ziet er als volgt uit:

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

Ik raad ook aan om in plaats van Zoeken de FindOne-methode te gebruiken (omdat ik veronderstel dat je zeker weet dat er maar één antwoord met de hierboven gespecificeerde _id bestaat).



  1. Dubbelzinnige discriminator 'myType' wanneer 'myType' dynamisch wordt gegenereerd tijdens runtime

  2. Het unieke kenmerk van SailsJS en Mongo wordt genegeerd

  3. mongodump Mislukt:slechte optie:kan slechts één verzameling naar stdout dumpen

  4. Parseerfout:syntaxisfout, onverwachte '}' in C:\xampp\htdocs\lib\autors.php op regel 8