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

Lấy phần tử cụ thể từ mảng trong MongoDB bằng forEach

Duyệt cursor và mảng lồng nhau với forEach()

Trong MongoDB shell, dùng forEach() trên cursor và mảng để truy xuất giá trị cụ thể, lưu vào đối tượng JavaScript.

Dữ liệu mẫu

> db.demo742.insertOne({
  userDetails: [
    { userName: "Robert", CountryName: "UK" },
    { userName: "David", CountryName: "AUS" }
  ]
});

Script lấy danh sách CountryName duy nhất

var ListOfCountryName = {};
db.demo742.find({}).forEach(function(doc) {
  doc.userDetails.forEach(function(d) {
    ListOfCountryName[d.CountryName] = d.CountryName;
  });
});
printjson(ListOfCountryName);

Kết quả

{ "UK": "UK", "AUS": "AUS" }

Kỹ thuật này hữu ích khi xử lý logic phức tạp trong shell không thể biểu diễn bằng aggregation pipeline.