Tag: 对象

从节点中的parsing的csv文件构build对象数组

我有多个表单的CSV文件 model1A model1B model2A model2B 其中每个csv是一个数组即model1A = [1, 1, 1] 我想parsing这些csvs并创build一个包含所有这些模型的数组,其中数组中的每个元素都是一个对应于一个特定模型的对象,即 finalArray = [ { "model" : "model1", "A" : [1, 1, 1], "B" : [2, 2, 2] }, { "model" : "model2", "A" : [3, 3, 3], "B" : [4, 4, 4] } ] 我到目前为止的代码是 var csv = require('csv'); var fs = require('fs'); var […]

Node.js和MongoDB,重用DB对象

我对Node.js和MongoDB都是新手,但是我已经设法将SO和mongo的文档放在一起。 Mongo文档给出了例子: // Retrieve var MongoClient = require('mongodb').MongoClient; // Connect to the db MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) { if(!err) { console.log("We are connected"); } }); 这看起来很好,如果我只需要在一个地方使用一个function的数据库。 在SO上search和阅读已经表明,我不应该每次都打开一个新的连接,而是使用一个池并重用我第一次获得的数据库对象。 这个答案很丰富,但我不知道如何获得DB对象,然后如何重用它。 假设我的App.js中有上面的Node.js代码,然后我有不同的路由需要在db上运行不同的操作: app.post('/employee', function(req, res){ //Put req.name in database }); app.post('/car', function(req, res){ //Put req.car in database }); 我将如何将这两个片段放在一起有用? 我在Node.js中发现了一个类似的问题, 重用了MongoDB引用 ,但是从这个( http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html )的外观来看,它看起来像我应该使用MongoClient而不是db()。 而且我不确定它是否解决了我的问题

有效地计算JavaScript中对象的键/属性的数量

这个问题几乎是相同的如何有效地计算一个对象在JavaScript中的键/属性的数量? 。 我想知道一个额外的信息:什么是“ 恒定时间 ”的方式来确定一个对象中的键的数量? 我最关心的是在Node.JS中这样做,因为浏览器上的大多数对象都不是太大而不值得担心。 编辑:看来Object.keys(obj).length返回线性时间O(N)在谷歌浏览器和Node.JS(即取决于密钥在obj的数量)。 有更好的O(1)方法吗? 我在Node.JS中做了一些testing(源代码如下) var tests = [10e3, 10e4, 10e5, 10e6] for(j in tests) { var obj = {}; for(i = 0; i < tests[j]; i++) obj[i] = i; console.time('test' + tests[j]); Object.keys(obj).length; console.timeEnd('test' + tests[j]); } 对于n = 10e3,10e4,10e5,10e6 …的结果是: test10000: 5ms test100000: 20ms test1000000: 371ms test10000000: 4009ms

将对象的所有键都变成小写的最好方法是什么(最有效)?

我已经想出来了 function keysToLowerCase (obj) { var keys = Object.keys(obj); var n = keys.length; while (n–) { var key = keys[n]; // "cache" it, for less lookups to the array if (key !== key.toLowerCase()) { // might already be in its lower case version obj[key.toLowerCase()] = obj[key] // swap the value to a new lower case […]

node.js将对象存储在redis中

这是事情 – 我想存储本地JS(node.js)对象(闪存套接字引用)在redis下的某个关键。 当我用简单的client.set()来做这件事的时候,它被存储为一个string。 当我尝试获取值时,我得到[object Object] – 只是一个string。 有机会得到这个工作? 这是我的代码: addSocket : function(sid, socket) { client.set(sid, socket); }, getSocket : function(sid) { client.get(sid, function(err, reply) { // cant't get an object here. All I get is useless string }); },