如何在流星集合中找到最后一个元素/对象的id?

时间:2016-05-06 23:24:01

标签: javascript meteor meteor-autoform

我在meteor中有一个来自表单的集合(表单是使用aldeed:autoform创建的)。我想提取集合的最后一个元素/对象(或最近的条目)的id。我怎样才能做到这一点??

编辑:以下是autoform的样子:

 PlayersList = new Mongo.Collection("players");
 PlayersList.allow({
     insert: function(){

     }
});
PlayersListSchema = new SimpleSchema({
name: {
    type: String,
    label: "Name",

  },
  age: {
    type: Number,
    label: "Age"
  },
  gender:{
    type: String,
    label: "Gender"

  },
  country: {
    type: String,
    label: "Country of Birth",

  },
  race: {
    type: String,
    label: "Ethnicity",

  },
  income: {
    type: Number,
    label: "Income",

  },
  education: {
    type: String,
    label: "Education Level",

  },
});
PlayersList.attachSchema(PlayersListSchema)

使用每个表单生成一个id。我想要数据库中最后一个表单的id。

2 个答案:

答案 0 :(得分:1)

var lastEntryId = [].slice.call( *meteorCollection* ).reverse()[0].id; 

或者如果看起来简短,你可以选择更短的&更快的一个:

var lastEntryId = [].slice.call( *meteorCollection* ).pop().id; 

或者你可以使用真正的斯巴达,甚至更快更真实的简洁:

var lastEntryId = [].pop.call( *meteorCollection* ).id;

如果尚未设置id属性属性,您将获得一个空字符串。

答案 1 :(得分:0)

var recent_entry = PlayersList.find().sort({_id:-1}).limit(1);

其中' -1'如果你使用' 1'排序是从最新到最旧的安排。反之亦然。