2015-04-22 168 views
5

我在基地的一些文件:流星和蒙戈:addToSet插入

//example docs 
{"_id": "qwerty12345", "name": "Bob", "cards":["cardId1", "cardId2", "cardId3"]} 

將數據插入我使用的是這樣的:

Template.insert.events({ 
    'click add': function(){ 
     if(confirm("Add card?")); 
     mycollection.update({_id: Session.get('fooId')}, { $addToSet: { cards: this._id}}) 

    } 
}); 

然後我使用這個幫手我的模板:

Template.index.helpers({ 
    cards: function(){ 
     query = mycollection.findOne({_id: Session.get('fooId')}); 
     return query.cards; 
    } 
}); 

而且在模板:

<img src="{{img}}" class="add"> 
{{#each cards}} 
{{this}}<br> 
{{/each}} 

這工作perfecty,但我有一個煩惱:

正如你看到的,每個圖像具有標識和網址({{圖像}}),我需要圖像URL添加到「MyCollection的」太多了每一張卡片(點擊)。

如何製作它?

而第二個問題: 如何讓mongo插入重複到「cards」數組?

回答

3

你的意思是每張卡都有id和image字段?我猜是這樣。

您可以將嵌套對象添加到數組字段。像那樣

mycollection.update({_id: Session.get('fooId')}, { $addToSet: { cards: {id: this._id, image: this.image}}})

在模板: {{#each cards}} {{this.id}}: {{this.image}}<br> {{/each}}

對於第二個問題:您可以使用$push代替$addToSet