获取每个子集的最新对象

时间:2015-02-23 18:18:26

标签: mongodb mongoose

我正在开发基于mongodbmongoose的应用。我的一个模式具有以下形式:

var schema = new mongoose.Schema(
{
    name: { type: String },
    timestamp: { type: Number, default: Date.now },
    // further properties
});
schema.index({ name: 1, timestamp: -1 });

我想检索一组timestamp字符串的最新对象(即最大name)。

例如,考虑一组名称['a','b']。如何查询数据库,以便返回包含两者的对象集合,id=='a'的最新条目和id=='b'的最新条目?

[更新:我们的想法是避免多次查询数据库(即每个名称一次)。]

1 个答案:

答案 0 :(得分:0)

"我如何查询数据库,以便返回包含最新内容的对象集合,其中id ==' a'""

db.collection.find({ name : 'a' }).sort({ timestamp : -1 })

"以及id ==' b'?"

的最新条目

db.collection.find({ name : 'b' }).sort({ timestamp : -1 }).limit(1)