sql >> Databáze >  >> NoSQL >> MongoDB

Jak načíst veškerou hodnotu vloženého dokumentu pomocí oficiálního ovladače C# pro MongoDB?

Měli byste načíst otázku (jako v kódu výše) a použít linq nebo foreach k získání položky odpovědi se zadaným _id. Kód tedy bude vypadat takto:

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

Také navrhuji místo Find použít metodu FindOne (protože předpokládám, že jste si jisti, že existuje pouze jedna odpověď s výše uvedeným _id).



  1. Jak zkontroluji, zda redis běží, než spustím baňku (a spustím ji, pokud ne)?

  2. Konfigurace replikace Redis

  3. DBRefs (odkazy na dokument Mongo) nebyly stahovány dychtivě

  4. Jak Hadoop funguje – Pochopte fungování Hadoopu