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

Tài liệu con tổng hợp / dự án dưới dạng tài liệu cấp cao nhất trong mongo

Khi bạn có rất nhiều trường trong tài liệu con và đôi khi nó được cập nhật các trường mới, thì phép chiếu không phải là một lựa chọn khả thi. May mắn thay, kể từ ngày 3.4, MongoDB có một toán tử mới được gọi là $ ReplaceRoot .

Tất cả những gì bạn phải làm là thêm một giai đoạn mới vào cuối quy trình của mình.

db.getCollection('sample').aggregate([
    {
        $replaceRoot: {newRoot: "$command"}
    },
    {
        $project: {score: 0 } //exclude score field
    }
])

Điều này sẽ cung cấp cho bạn kết quả mong muốn.

Lưu ý rằng trong trường hợp tổng hợp (đặc biệt là sau $ nhóm stage) tài liệu 'lệnh' có thể là một mảng và có thể chứa nhiều tài liệu. Trong trường hợp này, bạn cần $ thư giãn mảng trước tiên để có thể sử dụng $ ReplaceRoot .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. đổi tên bộ sưu tập bằng mongoDB

  2. Kho lưu trữ Mongo Dữ liệu Mùa xuân ::Phương pháp được chia sẻ phổ biến trên tất cả các vấn đề về Kho lưu trữ

  3. Làm thế nào để tìm 5 giá trị hàng đầu trong mongodb? và không được chứa cùng một giá trị

  4. Làm cách nào để lấy N bản ghi cuối cùng trong mongodb?

  5. Làm cách nào để thiết lập cài đặt dự án Visual Studio với mongo-cxx-driver?