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

Trích xuất đối tượng nhúng thành document bằng Aggregation Framework MongoDB

Sử dụng stage $replaceRoot để đưa đối tượng nhúng (embedded object) lên cấp gốc (root). Tạo collection:

> db.embeddedObjectDemo.insertOne({
  _id: new ObjectId(),
  "UserDetails": { "UserName": "John", "UserAge": 24, "UserEmailId": "John22@gmail.com" }
});
{ "acknowledged": true, "insertedId": ObjectId("5ced580fef71edecf6a1f693") }
> db.embeddedObjectDemo.insertOne({
  _id: new ObjectId(),
  "UserDetails": { "UserName": "Carol", "UserAge": 26, "UserEmailId": "Carol123@gmail.com" }
});
{ "acknowledged": true, "insertedId": ObjectId("5ced5828ef71edecf6a1f694") }

Hiển thị document (có trường UserDetails nhúng):

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

Kết quả.

Pipeline aggregate với $replaceRoot:

> db.embeddedObjectDemo.aggregate([
  { $replaceRoot: { newRoot: "$UserDetails" } }
]);

Kết quả (mỗi document giờ là trực tiếp đối tượng UserDetails):

{
  "UserName": "John", "UserAge": 24, "UserEmailId": "John22@gmail.com"
}
{
  "UserName": "Carol", "UserAge": 26, "UserEmailId": "Carol123@gmail.com"
}