Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm cách nào để lấy một phần tử cụ thể từ mảng MongoDB?

Bạn có thể sử dụng khung tổng hợp để lấy một phần tử cụ thể từ mảng MongoDB. Để hiểu khái niệm, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với tài liệu như sau -

> db.getParticularElement.insertOne({"InstructorName":"Larry","InstructorTechnicalSubject":["Java","C","C++","MongoDB","MySQL","SQL Server"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7ee027559dd2396bcfbfb1")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find (). Truy vấn như sau -

> db.getParticularElement.find().pretty();

Sau đây là kết quả -

{
   "_id" : ObjectId("5c7ee027559dd2396bcfbfb1"),
   "InstructorName" : "Larry",
   "InstructorTechnicalSubject" : [
      "Java",
      "C",
      "C++",
      "MongoDB",
      "MySQL",
      "SQL Server"
   ]
}

Đây là truy vấn để lấy một phần tử cụ thể từ một mảng -

> db.getParticularElement.aggregate([
   ... {
      ... $project:
      ... {
         ... ElementFromAnArray: 1,
         ... FourthElement: { $arrayElemAt: [ "$InstructorTechnicalSubject", 3] },
         ...
      ... }
   ... }
... ]);

Sau đây là kết quả -

{ "_id" : ObjectId("5c7ee027559dd2396bcfbfb1"), "FourthElement" : "MongoDB" }