我在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。
答案 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'排序是从最新到最旧的安排。反之亦然。