2016-05-06 10 views
0

私は、フォームから来た流星のコレクションを持っています(フォームはaldeed:autoformを使って作成されています)。私はコレクションの最後の要素/オブジェクト(または最近のエントリ)のIDを抽出したいと思います。どうやってやるの??流星群の最後の要素/オブジェクトのIDを見つける方法は?

編集:idが生成され、それぞれの形で

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を必要とします。

+0

いくつかのコードと試したことを表示できますか? – yelsayed

答えて

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

またはそれが短いと簡単に見えたならば、あなたは選ぶことができます短い&速い1:

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

またはあなたも速く、本当に簡潔真スパルタンを、使用することができます

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

idプロパティ属性が設定されていない場合は、空の文字列が返されます。

+0

それぞれを試しましたが、うまくいかないようです。私はエラーが発生します:変数 "meteorCollection"のフィードに、デフォルトでも定義によってもプロパティIDを持つ要素が含まれていない場合にのみ、未定義の –

+0

のプロパティ 'id'を読み取ることができません。つまり、idプロパティをまったく含んでいない非DOM要素があります。 –

+0

デフォルトでは作成されていませんか?私はデフォルトのプロパティを使用したい –

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

「-1」の並べ替えでは最古の配置に新加入のためであるあなたが使用している場合、「1」はその逆です。

+1

私はまだエラーが発生します:Uncaught TypeError:PlayersList.find(...)。sortは関数ではありません –

+0

Ok。これはPlayerList.find({}、{$ sort:{_id:1}}、{limit:1})で動作します。私は今私の机の上にいないので、私はこれを実際に試していない。 –

関連する問題