私がやりたいことは、最初のループ実行によって設定された値に変数を設定することです。
背景情報として: CollectionFS を使用して、流星アプリに複数のファイルをアップロードしています。ここで、すべてのファイル (最初のファイルを除く) に、カスタム フィールドの値parent
を最初に挿入されたファイルの ID に設定したいと考えています。でIDを取得しdata._id
ます。
私の試み:
アップロードされたファイルごとにループを使用しているdata
ため、最初のファイルは未定義だと思ったので、値があるかどうかを確認します。この場合もparent
未定義になります。2 番目のファイルについてdata
は、既に設定されているため、その値としてparent
取得する必要があります。data._id
parent
しかし、いつものように、これは正しく動作しませんundefined
:
FS.Utility.eachFile(event, function (file) {
var newFile = new FS.File(file),
parent = (data) ? data._id : undefined;
newFile.metadata = { parent: parent };
var data = Images.insert(newFile);
console.log(data._id); // id of the inserted file
});