Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Truy xuất object lồng nhau (nested object) trong MongoDB?

Dùng positional operator $ trong projection. Tạo collection:

> db.queryNestedObject.insertOne(
  {
    "StudentName" : "James",
    "StudentSubjectScore" : [
      {"StudentMongoDBScore":98},
      {"StudentCScore":92},
      {"StudentJavaScore":91}
    ]
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5ccf49a9dceb9a92e6aa1962") }

Hiển thị document:

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

Kết quả:

Truy xuất nested object có StudentJavaScore = 91:

> db.queryNestedObject.find({'StudentSubjectScore.StudentJavaScore' : 91},{'StudentSubjectScore.$': 1 , _id: 0});

Kết quả (chỉ trả về phần tử khớp):