Javascript 在Meteor中插入图片

Javascript 在Meteor中插入图片,javascript,jquery,mongodb,meteor,Javascript,Jquery,Mongodb,Meteor,我刚开始学习流星。我将所有图像放在“/public”文件夹的根目录中。这些图像被命名为“1.jpg”、“2.jpg”、“3.jpg”。。。。我想通过使用for循环将所有图像插入到集合“images”中,而不将某个数字作为for循环限制。那么,我如何让它自动检测公用文件夹中有多少图像呢?您需要一种机制来获取公用文件夹中的图像列表,使用fs软件包可以为您做到这一点。请考虑下面的示例,该示例使用包从服务器(Unix Unix路径 > /home /Auth/YouLyAppNeNo/ /流星/本地/构

我刚开始学习流星。我将所有图像放在“/public”文件夹的根目录中。这些图像被命名为“1.jpg”、“2.jpg”、“3.jpg”。。。。我想通过使用for循环将所有图像插入到集合“images”中,而不将某个数字作为for循环限制。那么,我如何让它自动检测公用文件夹中有多少图像呢?

您需要一种机制来获取公用文件夹中的图像列表,使用
fs
软件包可以为您做到这一点。请考虑下面的示例,该示例使用包从服务器(Unix Unix路径<代码> > /home /Auth/YouLyAppNeNo/ /流星/本地/构建/程序/ Web/Browser/App/</代码>)中读取“公共目录”,即“代码> /Web.Browser/App/<代码> >。p> 获取文件夹列表后,过滤列表以仅获取扩展名为
.jpg
的图像文件,然后将图像插入到收藏中。出于说明目的,保存到集合中的图像文档具有以下简单模式示例

{ _id: "v2PrCTPea6tM6JNHn", name: "1.jpg" }
为了帮助您实现将图像插入mongo集合的最终目标,您可以使用Meteor软件包,该软件包使基础mongo驱动程序能够插入多个文档。它的工作原理类似于插入(),但需要插入一个对象数组,而不是单个对象

#安装

在meteor应用程序目录中运行:

meteor add mikowals:batch-insert
在服务器上

var fs = Npm.require('fs'),
    public_path = path.join(__meteor_bootstrap__.serverDir, "../web.browser/app"),
    files = fs.readdirSync(public_path),
    images = _(files).reject( function(fileName) {
        return fileName.indexOf('.jpg') < 0;
    }),
    imagesList = images.map(function (image){
        return { name: image };
    });

Images = new Meteor.Collection('images');

Images.allow({
    insert: function(){ return true };
});

var newIds = Images.batchInsert(imagesList);  // returns array of created _id values
var fs=Npm.require('fs'),
public\u path=path.join(\uuuu meteor\u bootstrap\uuuu.serverDir,“../web.browser/app”),
files=fs.readdirSync(公共路径),
images=\文件。拒绝(函数(文件名){
返回fileName.indexOf('.jpg')<0;
}),
imagesList=images.map(函数(图像){
返回{name:image};
});
Images=新流星系列(“Images”);
允许({
insert:function(){return true};
});
var newIds=Images.batchInsert(imagesList);//返回创建的_id值数组

那么,这些文件是与图像相关的还是可以编辑掉?似乎你的问题只是“如何在Meteor中获取文件夹中的文件量”,而图像与此无关。是的,我想在Meteor中获取文件夹“public”中的文件量。