2013-01-07 62 views
1

喜試圖流星簡單collection.insert({ owner: Meteor.userId(), length:3 });它是由客戶端執行,而是由服務器撤銷(或過程中,同爲collection.update) 時此刻,我改名場lengthlen,瞧它的工作原理......但現在我不符合GridFS規範說:'fs.files.length'(該項目:collectionfs.meteor.com)Meteor/mongo db fieldname'length'無效?

任何人?

+0

你確實需要存儲文件嗎?如果你只是想插入一個文檔,你不需要關心GridFS。 –

+0

Files = new Meteor.Collection(「fs.files」); Files.insert({owner:'test',length:3});似乎爲我工作。 –

+0

GridFS就是這樣,以dB爲單位的文件塊 - 使用他們的規範我希望使用一些gridFS功能服務器端。 Wierd,想想我會嘗試另一次安裝。 – RaiX

回答

1

這是因爲在Meteor中廣泛使用的Underscore庫中的迭代函數通過查看它是否具有數字length屬性來決定它們是迭代數組還是對象。我認爲這裏的具體實例是livedata/livedata_server.js中的set函數(第515行左右):它將attributes解釋爲一個數組,然後未能找到任何實際屬性。

也許我們需要停止在流星中完全使用_.each。

+0

謝謝,我應該將它添加爲github中的問題嗎? – RaiX

+0

因爲in就像寫起來一樣容易,會跑得更快嗎?有時候關閉是可以的,例如。 set和unset是幾乎完全相同的? – RaiX

+0

它的工作原理!請求發展分支? – RaiX