2012-12-31 37 views
0

我有这样的模式:获得不同级别的猫鼬与多个用户

var userschema = new mongoose.Schema({ 
    user: String, 
    imagen: [{ 
       title: String, 
       author: String, 
       index: Number, 
       date: { type: Date, default: Date.now }, 
       comments: [{ 
         user: String, 
         body: String, 
         date: { type: Date, default: Date.now } 
       }] 
      }], 
    }); 

我知道如何设置,例如,图像的作者,但我不知道怎么查询的时间指定的图像。

而且,如果我想搜索多个用户的图像,我如何按时间顺序显示这些图像,作为Twitter的时间线。我使用EJS作为模板,并在服务器端使用Express.js,我该如何做图像时间线?我甚至不知道如何访问指定的图像日期,所以,我真的是猫鼬的初学者。

+0

我认为你必须使用聚合框架来''展开'imagen'数组,然后'$ sort'并使用'$ match'对其进行过滤。 – JohnnyHK

回答

0

你存储日期与“时间”的组成部分,所以如果你想为你设置了整整一天的时间间隔特定日期检索数据:

var query = userschema.find( 
{"imagen.date": {"$gte": new Date(2013, 1, 7), "$lt": new Date(2013, 1, 8)}}); 

query.sort({"imagen.date":1}).exec(callback);