从Mongodb数据库中获取日期并在jade文件中显示它

时间:2015-06-08 08:46:35

标签: node.js mongodb express

我想从MongoDB数据库中获取所有日期,但我想显示日期只有一次意味着日期不应重复,即按日,月和年分组。

var mongoose = require('mongoose');
var chatSchema = mongoose.Schema({
    nick: String,
    msg: String,
    created: {type: Date, default: Date.now}
});
var chat = mongoose.model('Message', chatSchema);
app.get('/history/chats', function(req, res){
    chat.find({group: "created"}, function(err, docs){
        res.render('history', {users: docs});
    });
});

和玉文件

tbody
 each user in users
  tr
   td
    a(href='../info/chats') #{user.created.getMonth()}/#{user.created.getDate()}/#{user.created.getFullYear()}

使用'group'后,我没有得到所需的答案。 意味着是否

1 个答案:

答案 0 :(得分:0)

现在查询正在寻找group = "created"的文档,它根本没有进行任何分组。因此,它没有找到任何文件。

如果您想按天/月/年分组,则需要使用MongoDB aggregation framework

其他一些资源:

例如,要在Mongoose中按天分组,您需要编写一些代码,如:

chat.aggregate([
  {
    $group: {
      day: { $dayOfYear: "$created" },
      count: { $sum: 1 }
    }
  }
], function (err, result) {
  // do stuff with your result
});

以上计算一年中的文档数量。如果您想获得按天分组的完整文档,请使用$$ROOT运算符。

注意:建议您在$group之前使用$match步骤,以最大限度地缩短查询时间。