Tag: 数组

如何在nodejs中使用fs从多个目录获取文件名?

我想从所有的目录中获取文件信息一旦我有,我有进一步的代码实现,但我卡在这里,并得到错误粘贴的问题任何想法是什么在下面的代码中实现错误? cron.js var fs = require('fs'); var path = require('path'); var async = require('async'); var directories = ['./logs/dit', './logs/st','./logs/uat'] function cronJob() { directories.forEach(function(dir){ var files = fs.readdir(dir); async.eachSeries(files, function(file,callback) { var filePath = path.join(dirPath, file); var fileInfo = {}; fs.stat(filePath, function(err, stats) { if (err) { console.info("File doesn't"); } else { fileInfo.fileDate = stats.birthtime; fileInfo.filename […]

Node.js – 从函数返回数组

我有一个函数返回一个使用方法myArray.push({“key”:value})创build的数组 在路由器文件中,我做了这个,但它没有工作: router.get('/:ID', function(req, res, next) { var myRenderArray = []; myRenderArray = auxFunctions.myArrayFunc(req.params.ID); res.render('myView', {title: 'title', myRenderArray}); }); 如果我把整个函数放在路由器文件中,并改变res.render('myView', {title: 'title', myRenderArray});的return语句, 有用! 恢复function代码: module.exports.myArrayFunc = function myArrayFunc(ID){ var myArray = []; var id = req.params.ID; var req1 = new dbConfig1.Request(); var req2 = new dbConfig2.Request(); req1.query(query1('foo', ID)) .then(function (array1) { req2.query(query2('foo', id, array1[0].fooId)) […]

使用KnexJS查询X个表的数量?

我有一个独特的情况,我有一个优雅的方式解决问题。 用户传递一组他们想要输出数据的信号。 这个数组可以是1 – > Any_Number,所以我首先根据传递的信号来获取表名(每个信号都存储在一个单独的表中),并将它们存储在一个对象中。 下一步是遍历该对象(包含我需要查询的表名),执行每个表的查询并将结果存储在一个对象中,该对象将被传递给Promise中的下一个链。 我还没有看到任何好的方法来处理这个例子,但我知道这是一个相当独特的场景。 在尝试添加对信号数组的支持之前,我的代码简单地如下所示: exports.getRawDataForExport = function(data) { return new Promise(function(resolve, reject) { var getTableName = function() { return knex('monitored_parameter') .where('device_id', data.device_id) .andWhere('internal_name', data.param) .first() .then(function(row) { if(row) { var resp = {"table" : 'monitored_parameter_data_' + row.id, "param" : row.display_name}; return resp; } }); } var getData = function(runningResult) { […]

如何在数据库调用后明确数组?

我正在使用快速查询使用本机驱动程序(而不是Mongoose)我的mongodb数据库。 我正在尝试在MongoDB响应后进行一些数据清理。 我不介意这是否可以通过MongoDB的聚合查询或它的一些变化来实现,为了完整性,我使用的当前查询是: collection.find({'make.name': req.params.make}, {'model.name': 1, 'submodel.body': 1, '_id': 0}).toArray(); 我有一个来自mongodb的回应: [ { "model" : { "name" : "3 Series" }, "submodel" : { "body" : "Convertible" } }, { "model" : { "name" : "3 Series" }, "submodel" : { "body" : "Coupe" } }, { "model" : { "name" : "2 Series" […]

es6mongoose嵌套findById诺言

我正在build立一个使用节点快速mongoose / mongo等宁静api。我试图输出一个特定的用户正在跟踪的用户数组。 这是架构。 var UserSchema = new mongoose.Schema({ username: {type: String, lowercase: true, unique: true, required: [true, "can't be blank"], match: [/^[a-zA-Z0-9]+$/, 'is invalid'], index: true}, email: {type: String, lowercase: true, unique: true, required: [true, "can't be blank"], match: [/\S+@\S+\.\S+/, 'is invalid'], index: true}, bio: String, image: String, following: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' […]

形成多行插入nodejs-mysql的数组格式

我有一个像下面的对象项目 var item = {"9":"9","22":"22","23":"23","24":"24"}; 和variablesvar cart = 23; 和var group = 40; 现在我想以这样的格式形成这些项目,以便像下面那样执行多行MySQL插入 var sql = "INSERT INTO test (item, cart, group) VALUES ?"; var values = [ [9, 23, 40], [22, 23, 40], [23, 23, 40], [24, 23, 40] ]; 我需要形成上面的数组格式来在节点js中执行多行插入。 如何使上述格式?

尝试在JavaScript中迭代JSON数组时出错

我有JSON文件,我加载在js代码没有问题使用JSON.parse() (这里显示的文件缩减的例子,它是25项长 ): { "List": [ { "Term": "Tos" }, { "Term": "Gripa" }, { "Term": "Catarro"}, { "Term": "Flemas"} ] } 当我迭代它访问一个项目每次迭代我没有问题,但是当我尝试增加索引访问项目每次迭代它会引发以下错误(注释在代码中显示的问题行): 的console.log(searchTerms [j]的.Term); TypeError:无法读取未定义的属性“Term” var data = fs.readFileSync(searchTermsFile); var searchTerms = JSON.parse(data); searchTerms = searchTerms.List; for(var j=0;j<searchTerms.length;j+=4) { console.log(searchTerms[j].Term); j+=1; console.log(searchTerms[j].Term); /****<—- THIS LINE THROWS THE ERROR ****/ }

Json数组arrays

我正在循环将数组的数组转换为对象,我分裂使用逗号“,”但如果我的值有一些逗号它也正在分裂。 例如:如果我的价值有一个date2017年5月2日,它实际上是一个单一的价值,但它是分裂为5月2日为一个值和2017年作为另一个值,所以,我的整个对象得到改变。 我正在阅读Excel表格。 我的输出是数组的数组。 我需要将其转换为json对象。 var xls = require('excel'); describe('TransactionDetails-Excel', function () { it('External Type G Tranasaction Details validation', function (done) { xls('transactions.xlsx', function(err, data) { if(err){ throw err; } else{ console.log(data); console.log(JSON.stringify(convertToJSON(data))); done(); } }); function convertToJSON(array) { var first = array[0].join(); var headers = first.split(','); var jsonData = []; for ( var iterator_i […]

将Json数据从服务器存储到Angular 2中的数组中

我使用nodejs服务器从SQL数据库中获取数据。 我会将数据存储在Tache数组中: getTaches(): Observable<Tache[]> { return this.http.get(this.tachesUrl) .map(response => { this.taches = response.json().data as Tache[]; console.log(this.taches); }) .catch(this.handleError); } 当我在控制台上打印时,我得到的结果如下: undefined 当我打印response.json()我得到我的价值观: Object {taches: Array(8)} 所以我删除.data,然后再试一次,然后我在模板文件的第一行得到另一个错误: ERROR Error: Error trying to diff '[object Object]'. Only arrays and iterables are allowed 这是我的html文件: <md-toolbar color="primary"> <span>Taches non traitées</span> </md-toolbar> <md-card> <md-list > <ng-container *ngFor="let tache of this.tacheService.taches […]

在Javascript中防止数组中的循环引用

我有一个像下面这样的数据结构。 array=[ {id:"a",children:[ {id:"b",children:[ {id:"d",children:[]}]}, {id:"c",children:[]}]} ] 如果我想在“c”(“a”,“e”没有string,但是节点的副本)中插入元素{id:"e", children:["a","f"] ,检查它是否存在于上层树中,因此会创build一个循环引用。 所以我觉得我必须反向走arrays。 但是因为我对JavaScript和Node很新,所以我不知道该怎么做。 这会是一个好主意,创build一个数组,我将所有的依赖存储在? 像这样的东西: [ a:[], b:[a], c:[a,b] d:[a,b] ] 那么我可以查找数组中的父级,并会看到在c中,a和b已经依赖