猫鼬:如何按日期汇总字段

时间:2020-07-05 14:19:17

标签: node.js mongodb mongoose

这是我的模式

const mongoose = require("mongoose");
const { mongo } = require("mongoose");
var mongoosePaginate = require("mongoose-paginate");

const slotSchema = new mongoose.Schema(
  {
    createdBy: { type: mongoose.Schema.Types.ObjectId, ref: "User" },
    docdetail: {
      type: mongoose.Schema.Types.ObjectId,
      ref: "Doctor",
    },
    date: {
      type: Date,
      default: Date.now(),
    },
   
    startTime: {
      type: String,
    },
    endtime: {
      type: String,
    },
   
  },
  { timestamps: {} }
);

const slot = mongoose.model("slot", slotSchema);

module.exports = slot;


它具有一个插槽架构,当用户单击医生的书籍咨询按钮时会获取插槽 startTime和endTime描述一个插槽 所以一天可以有不同的startTimes(slots)。 因此,假设星期一有4个广告位,那么该广告位应该显示在当天分组下

这是我的广告位获取路线查找方法

USer.findById(req.params.id, (err, doc) => {
    if (!err) {
      slot
        .find({ createdBy: req.params.id })
        .populate("createdBy", "name")
        .sort("date")
        .then((slots) => {
          res.render("bookSlot", { slots: slots, doc: doc, moment: moment });
        });
    }

这是我的ejs文件

 <% slots.forEach((el)=>{ %>
          <%=moment(el.date).format('dddd') %>
          <ul>
            <li>
              <%=el.startTime %>
            </li>
          </ul>

          <% }) %>

现在看起来像这样

星期一 8.00
星期一 10.00 星期一 12.00 星期一 2.00

我想要结果如何

星期一 7月5日(可以使用时间从日期字段中提取)

  • 8.00
  • 10.00
  • 2.00

请帮助我找出我要去哪里

0 个答案:

没有答案