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

Sắp xếp kết quả truy vấn dựa trên giá trị mô tả của tài liệu con lồng nhau trong mảng Mongoose / Mongodb

Chúng tôi không thể sắp xếp mảng trực tiếp, nhưng tính năng tổng hợp sẽ giúp ích cho việc này

  • $unwind giúp gỡ bỏ cấu trúc mảng
  • $sort giúp sắp xếp như bạn muốn
  • $group giúp nhóm lại mảng không có cấu trúc

Tập lệnh Mongo được đưa ra bên dưới

db.collection.aggregate([
  {
    "$match": {
      "serviceAreas.slug": "nashville"
    }
  },
  {
    $unwind: "$serviceAreas"
  },
  {
    $sort: {
      "serviceAreas.totalClosedSales": -1
    }
  },
  {
    $addFields: {
      total: "$serviceAreas.totalClosedSales"
    }
  },
  {
    $sort: {
      total: -1
    }
  },
  {
    $group: {
      _id: "$_id",
      mlsId: {
        $first: "$mlsId"
      },
      firstName: {
        $first: "$firstName"
      },
      lastName: {
        $first: "$lastName"
      },
      slug: {
        $first: "$slug"
      },
      serviceAreas: {
        $push: "$serviceAreas"
      }
    }
  }
])

Làm việc Sân chơi Mongo




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhận phần tử đầu tiên trong mảng và trả về bằng cách sử dụng Aggregate?

  2. Làm thế nào để Lặp lại thông qua Đối tượng bên trong Bộ sưu tập Meteor Mongo

  3. Mongodb - Thêm lược đồ cho bộ sưu tập hiện có

  4. docker-comp MongoDB Lỗi:lỗi mạng khi cố gắng chạy lệnh 'isMaster' trên máy chủ

  5. Tổng hợp Mongodb (v2.4.0) $ match không hoạt động với phạm vi ngày