我想要做的是将变量设置为由第一个循环执行设置的值。
作为背景信息:我正在使用CollectionFS在我的meteor应用程序中上传多个文件。现在我想将所有文件(在第一个文件旁边)设置为第一个插入文件的id的自定义字段值parent
。
我通过data._id
获得了ID。
我的尝试:
由于我为每个上传的文件使用循环,我认为data
未定义第一个文件,所以我检查它是否有值。在这种情况下,parent
也将是未定义的。对于第二个文件,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
});
答案 0 :(得分:1)
data
。在循环之外声明它。
var data;
FS.Utility.eachFile(event, function(file) { ... });