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

Làm thế nào để nhóm ngày khôn ngoan hàng quý?

Bạn có thể sử dụng $cond nhà điều hành để kiểm tra xem:

  • $month<= 3 , chiếu một trường có tên quarter với giá trị là "một".
  • $month<= 6 , chiếu một trường có tên quarter với giá trị là "hai".
  • $month<= 9 , chiếu một trường có tên quarter với giá trị là "ba".
  • khác giá trị của trường quarter sẽ là "thứ tư".
  • Sau đó, $group bởi quarter lĩnh vực này.

Mã:

db.collection.aggregate([
  {
    $project: {
      date: 1,
      quarter: {
        $cond: [
          { $lte: [{ $month: "$date" }, 3] },
          "first",
          {
            $cond: [
              { $lte: [{ $month: "$date" }, 6] },
              "second",
              {
                $cond: [{ $lte: [{ $month: "$date" }, 9] }, "third", "fourth"],
              },
            ],
          },
        ],
      },
    },
  },
  { $group: { _id: { quarter: "$quarter" }, results: { $push: "$date" } } },
]);

Cụ thể cho lược đồ của bạn:

db.collection.aggregate([
  {
    $project: {
      dateAttempted: 1,
      userId: 1,
      topicId: 1,
      ekgId: 1,
      title: 1,
      quarter: {
        $cond: [
          { $lte: [{ $month: "$dateAttempted" }, 3] },
          "first",
          {
            $cond: [
              { $lte: [{ $month: "$dateAttempted" }, 6] },
              "second",
              {
                $cond: [
                  { $lte: [{ $month: "$dateAttempted" }, 9] },
                  "third",
                  "fourth",
                ],
              },
            ],
          },
        ],
      },
    },
  },
  { $group: { _id: { quarter: "$quarter" }, results: { $push: "$$ROOT" } } },
]);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bắt đầu fork mongod, LỖI:quy trình con không thành công, thoát với lỗi số 1

  2. Mẹo quản lý cấu hình cơ sở dữ liệu của bạn

  3. Tổng hợp Mongodb $ group, giới hạn độ dài của mảng

  4. MongoDB giới hạn kích thước lưu trữ?

  5. Tìm tổng thời gian của một người dùng trong mongoDB