2016-03-07 66 views
0

我有一個名爲「產品」的集合。我想要訪問並更改集合中名爲「screenShots」的屬性。如何訪問和更改集合中的特定屬性?

此代碼並沒有和我一起工作

screenshotsURLS: function(sshots) { 
    check(sshots, [String]); 
    Products.update({},{$set:{screenShots:sshots}}); 
    console.log(sshots); 
} 

當我CONSOLE.LOG的sshots,我可以看到,數組存在,但更新功能無法正常工作

我如何將Product集合中的screenShots屬性設置爲「screenshotsURLS」函數中傳遞的任何值?

+0

是否要一次更新所有文檔? –

+0

@Blaze Sahlzen不,只有當前文檔中的特定元素「screenShots」 –

+0

您當前的代碼將更新它在集合中找到的第一個文檔。你應該在第一個'{}'中指定一個查詢,例如'{_id:someId}'。 –

回答

2

爲此,您必須更新mongodb文檔。

這是你如何更新流星文件。

collectionName.update(
    <query>, 
    <update>, 
    { 
    upsert: <boolean>, 
    multi: <boolean>, 
    writeConcern: <document> 
    } 
) 

在你的情況下,collectionName是Products和field是screenShots。 所以這樣做。您的查詢將 sshots

Products.update({},{$set:{screenShots:sshots}}) (Be careful this will update all of your doc) 

對於選擇文檔更新使用類似查詢。

Products.update({name:'yourProductName'},{$set:{screenShots:sshots}}) 

更多關於更新請點擊這裏link

+0

是否有可能只更改screenShots屬性而不更改值,如果其他屬性? –

+0

我的意思是如果我使用Products.update({},{$ set:{screenShots:sshots}})它會改變集合中其他元素的值嗎? –

+0

否,Products.update({},{$ set:{screenShots:sshots}})只會更改screenShots字段的值。 –

相關問題