MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để truy xuất tất cả giá trị tài liệu nhúng bằng trình điều khiển C # chính thức cho MongoDB?

Bạn nên tải câu hỏi (như trong đoạn mã trên) và sử dụng linq hoặc foreach để nhận mục trả lời với _id được chỉ định. Vì vậy, mã sẽ giống như sau:

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

Ngoài ra, tôi đề xuất thay vì Tìm, hãy sử dụng phương pháp FindOne (vì tôi cho rằng bạn chắc chắn rằng chỉ có một câu trả lời với _id được chỉ định ở trên tồn tại).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Điều gì xảy ra khi mongodb hết bộ nhớ?

  2. Lấy một đối tượng từ mongodb trong C #

  3. Làm cách nào để xem hoặc sửa đổi các tùy chọn đối chiếu được đặt trên bộ sưu tập MongoDB?

  4. Sự cố kết nối MongoDB gián đoạn:Đã cố gắng truy cập vào một ổ cắm theo cách bị cấm bởi quyền truy cập của nó

  5. Dữ liệu khởi động mùa xuân và MongoDB - Lọc truy vấn mảng tài liệu con