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

Mongodb thư giãn các tài liệu lồng nhau

Tôi biết rằng những gì bạn đang cố gắng làm đều có thể thực hiện được với MongoDB. aggregate() lệnh có thể lấy bao nhiêu đối số mà bạn cần.

Trong trình bao mongo, một lệnh như thế này

db.collection.aggregate(
  { $project: {
    _id: 1,
    items: 1
  } },
  { $unwind: '$items' },
  { $unwind: '$items.images' }
);

sẽ giải phóng các items subocument, sau đó là images subocument.

Dựa trên mã trong câu hỏi của bạn, có lẽ điều này sẽ hoạt động

$project = array(
  '$project' => array(
    '_id' => 1,
    'items' => 1,
  )
);

$unwind_items = array(
  '$unwind' => '$items'
);

$unwind_images = array(
  '$unwind' => '$items.images'
);


$query = $mongo->store->aggregate($project,$unwind_items,$unwind_images);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hạn chế của việc lưu trữ Guid dưới dạng chuỗi trong MongoDB là gì?

  2. Nhóm MongoDB theo khoảng thời gian

  3. Làm thế nào để mô hình hóa một mối quan hệ tự quy chiếu với nhiều bậc cha mẹ?

  4. Làm cách nào để cập nhật một tài liệu nhúng vào một mảng lồng nhau?

  5. phương pháp hay nhất cho danh mục lồng nhau trong Mongo và Meteor