2013-01-06 27 views
0

我有這樣的代碼來更新條目時:

function updateList(listTime) { 

    var firstList = Project.find().fetch()[0].list; // returns a list 
    var nextElement = (firstList[firstList.length-1] + 50); // value of last + 50 

    Project.update({name: "List 1"}, {$push: {list: nextElement}}); 
} 

,我把它從:

Meteor.methods({ 
    updateList: updateList, 
}); 

becouse我m使用Python的ddp客戶端,需要這樣。

問題是nextElement並沒有真正增加我列表上的序列。想象一下,我的列表是[50,100,150,...],如果我調用updateList,它會變成[50,100,150,150,150,150 ...]等等......它應該變成[50,100,150,200,250,300 ...]。

有誰知道爲什麼?

+0

你爲什麼+50如果你想要+1嗎? –

+0

這是我的代碼中的其他地方的錯誤。對不起,夥計,並感謝您的答案 – jdscosta91

回答

2

讓我們開始製作nextElement +1而不是+50

var nextElement = (firstList[firstList.length-1] + 1); 

請注意,listTime將成爲列表中的最後一個元素。所以如果你運行updateList(20)這個列表將變成[1, 2, 3, 4, 5, 6, 7, 20]。如果您隨後致電updateList(2),它將變爲[1, 2, 3, 4, 5, 6, 7, 20, 21, 2]等等。

我不知道什麼listTime是應該做的,但如果你想添加last int + 1到列表:

function updateList() { 
    var firstList = Project.find().fetch()[0].list; 
    var nextElement = (firstList[firstList.length-1] + 1); 

    Project.update({name: "List 1"}, {$push: {list: nextElement}}); 
} 

這將導致:

Project.find().fetch()[0].list 
> [1, 2, 3, 4, 5, 6, 7] 

updateList() 
Project.find().fetch()[0].list 
> [1, 2, 3, 4, 5, 6, 7, 8] 

updateList() 
Project.find().fetch()[0].list 
> [1, 2, 3, 4, 5, 6, 7, 8, 9] 
+0

對不起,這是一個錯字。 忘記第二次更新。 而「加1」的增量就是一個例子。我真正想要的是一個「加5」增量 – jdscosta91

+0

我編輯的帖子是更連貫的 – jdscosta91

+0

我可以看到數字增加,但然後恢復... – jdscosta91