小编Pre*_*ain的帖子

javascript过滤器数组的多个条件

我想简化一个对象数组.我们假设我有以下数组:

var users = [{
    name: 'John',
    email: 'johnson@mail.com',
    age: 25,
    address: 'USA'
    },
    {
        name: 'Tom',
        email: 'tom@mail.com',
        age: 35,
        address: 'England'
    },
    {
        name: 'Mark',
        email: 'mark@mail.com',
        age: 28,
        address: 'England'
}];
Run Code Online (Sandbox Code Playgroud)

并过滤对象:

var filter = {address: 'England', name: 'Mark'};
Run Code Online (Sandbox Code Playgroud)

例如,我需要按地址和名称过滤所有用户,所以我循环过滤器对象属性并检查出来:

function filterUsers (users, filter) {
    var result = [];
    for (var prop in filter) {
        if (filter.hasOwnProperty(prop)) {

            //at the first iteration prop will be address
            for (var i = 0; i < filter.length; i++) {
                if …
Run Code Online (Sandbox Code Playgroud)

javascript arrays filter

50
推荐指数
10
解决办法
12万
查看次数

如何使用request或http模块将gzip页面读入字符串

我发现js中的请求模块无法正确处理gzip或inflate格式的http响应.

例如:

request({url:'some url'}, function (error, response, body) {
   //if the content-encoding is gzip, the body param here contains binaries other than readable string. And even worse after you convert the body to buffer, u even can not gunzip it.
}
Run Code Online (Sandbox Code Playgroud)

所以我想在官方文档中使用示例代码.

var request = http.get({ host: 'izs.me',
                         path: '/',
                         port: 80,
                         headers: { 'accept-encoding': 'gzip,deflate' } });
request.on('response', function(response) {
  var output = fs.createWriteStream('izs.me_index.html');

  switch (response.headers['content-encoding']) {
    // or, just use zlib.createUnzip() to handle both cases
    case 'gzip':
      response.pipe(zlib.createGunzip()).pipe(output); …
Run Code Online (Sandbox Code Playgroud)

http zlib request node.js

13
推荐指数
2
解决办法
1万
查看次数

mongoexport E QUERY语法错误:意外的标识符

问题似乎很简单.我有一个数据库(测试)和一个名为(用户)的集合,所以我运行命令:

mongoexport -d test -c users -o output.json
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

E QUERY SyntaxError:意外的标识符

根据我迄今为止通过互联网发现的情况,这可能与文件路径有关,但我不确定如何修改这个因为我从来没有弄乱PATH变量由于糟糕的经历...

export mongodb

13
推荐指数
1
解决办法
9225
查看次数

SearchPhaseExecutionException [无法执行阶段[查询],所有分片都失败]

最近我们的服务器重新启动而没有正确关闭Elastic Search/Kibana.重启后,两个应用程序都在运行,但不再创建任何索引.我在调试模式下检查了logstash设置,它正在向Elastic Search发送数据.

现在我创建的所有窗口都报告此错误:

Oops! SearchPhaseExecutionException[Failed to execute phase [query], all shards failed]
Run Code Online (Sandbox Code Playgroud)

我尝试重新启动Elastic Search/Kibana,并清除了一些索引.我搜索了很多,但无法正确解决这个问题.

当前群集运行状况为RED,如图所示.

弹性搜索群集运行状况

任何关于如何排除故障的帮助都是赞成的.谢谢

编辑:

[2015-05-06 00:00:01,561][WARN ][cluster.action.shard     ] [Indech] [logstash-2015.03.16][1] sending failed shard for [logstash-2015.03.16][1], node[fdSgUPDbQB2B3NQqX7MdMQ], [P], s[INITIALIZING], indexUUID [aBcfbqnNR4-AGEdIR8dVdg], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[logstash-2015.03.16][1] failed to recover shard]; nested: ElasticsearchIllegalArgumentException[No version type match [101]]; ]]
[2015-05-06 00:00:01,561][WARN ][cluster.action.shard     ] [Indech] [logstash-2015.03.16][1] received shard failed for [logstash-2015.03.16][1], node[fdSgUPDbQB2B3NQqX7MdMQ], [P], s[INITIALIZING], indexUUID [aBcfbqnNR4-AGEdIR8dVdg], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[logstash-2015.03.16][1] failed to recover shard]; nested: …
Run Code Online (Sandbox Code Playgroud)

elasticsearch logstash windows-server-2012 kibana

13
推荐指数
2
解决办法
5万
查看次数

一个迁移文件中的多个迁移语句

我试图在单个迁移文件中执行多个迁移语句,以便一次更改同一个表的多个列.

我想知道我是否以书写方式进行,或者是否有更好,更合适的方法:

迁移代码

module.exports = {
    up: function(queryInterface, Sequelize, done) {

        queryInterface.changeColumn('users', 'name', {
            type: Sequelize.STRING,
            allowNull: false,
            require: true,
            unique: true
        }).success(function() {
            queryInterface.changeColumn('users', 'address', {
                type: Sequelize.STRING,
                allowNull: false,
                require: true,
                unique: true
            }).success(function() {
                queryInterface.changeColumn('users', 'city', {
                    type: Sequelize.STRING,
                    allowNull: false,
                    require: true,
                    unique: true
                }).success(function() {
                    queryInterface.changeColumn('users', 'state', {
                        type: Sequelize.STRING,
                        allowNull: false,
                        require: true,
                        defaultValue: "ncjnbcb"
                    });
                    done();
                });
            });
        });
    }
};
Run Code Online (Sandbox Code Playgroud)

但是我面临一个错误:

TypeError:undefined不是函数

由于我在迁移中找不到任何调试错误的方法,如果有人帮助我解决它或者如果可能的话,告诉我们如何找出迁移中的错误的方式将是很好的.

migration error-handling node.js sequelize.js sails.js

10
推荐指数
4
解决办法
4942
查看次数

如何使用minimum_should_match在多个字段中搜索?

我正在尝试过滤弹性搜索的结果,它必须返回与搜索文本80%兼容的结果.

当我只为一把钥匙做这件事时,minimum_should_match作品完美无缺:

{
       "size":30,
       "from":930,
       "query":{
          "filtered":{
             "query":{
                "query_string":{
                   "default_field":"campo1",
                   "query":"portugues",                  
                   "minimum_should_match":"80%"
                }
             }
          }
       }
    }
Run Code Online (Sandbox Code Playgroud)

当我使用多个密钥进行搜索时,minimum_should_match无法正常工作,返回70%兼容性的结果:

{
       "size":30,
       "from":123420,
       "query":{
          "filtered":{
             "query":{
                "query_string":{
                   "default_operator":"or",
                   "query":"portugues",
                   "fields":[
                      "campo1",
                      "campo2^5",
                      "campo3"
                   ],
                   "minimum_should_match":"80%"
                }
             }
          }
       }
    }
Run Code Online (Sandbox Code Playgroud)

据我所知,我需要minimum_should_match按键设置,但我不知道如何做同样的事情.如果有人可以帮助我这样做,那就太棒了.

indexing search elasticsearch

9
推荐指数
1
解决办法
2万
查看次数

Node.js 中的加密和解密

我正在尝试加密并相应地解密一个字符串。

当我将编码方案指定为 ' utf-8 ' 时,我得到了预期的结果:

    function encrypt(text) {
        var cipher = crypto.createCipher(algorithm, password)
        var crypted = cipher.update(text, 'utf8', 'hex')
        crypted += cipher.final('hex');
        return crypted;
    }

    function decrypt(text) {
        var decipher = crypto.createDecipher(algorithm, password)
        var dec = decipher.update(text, 'hex', 'utf8')
        dec += decipher.final('utf8');
        return dec;
    }

//text = 'The big brown fox jumps over the lazy dog.'  
Run Code Online (Sandbox Code Playgroud)

输出:(utf-8 编码)

在此处输入图片说明

但是当我尝试使用 ' base-64 ' 时,它给了我意想不到的结果:

function encrypt(text) {
    var cipher = crypto.createCipher(algorithm, password)
    var crypted = cipher.update(text, 'base64', 'hex')
    crypted += …
Run Code Online (Sandbox Code Playgroud)

encryption base64 encoding utf-8 node.js

5
推荐指数
1
解决办法
3450
查看次数

文件上传:EMAXBUFFER错误

我正在尝试处理[ 编码和加密 ] 音频文件,然后使用npm模块knox上传到S3

它被处理但在上传到S3之前,它弹出了这个错误:

错误:EMAXBUFFER:Upstream(audio)在插入接收器之前超时.等待4500ms后仍未使用.您可以通过更改maxTimeToBuffer选项来配置此超时.

我尝试上传不同大小的文件,但它甚至发生在一个小文件上.我曾尝试过互联网和大多数地方的人们提供或建议的所有可能的解决方案,它是Skipper-S3,我找不到KNOX的地方.

如果有人可以帮助我,那将是很棒的.

我在堆栈上也提到了一些现有的问题,但仍然是徒劳的.

error-handling buffer amazon-s3 node.js npm

5
推荐指数
0
解决办法
502
查看次数

Sequelize数据类型TEXT不能与mySQL一起使用

我正在使用sequelize ORM和mySQL数据库.

我有一个属性类型为TEXT的模型:

description: {
            type: Sequelize.TEXT,
            unique: true
        },
Run Code Online (Sandbox Code Playgroud)

当我尝试为相应的模型创建表时,它给出一条错误消息:

未处理的拒绝SequelizeDatabaseError:ER_BLOB_KEY_WITHOUT_LENGTH:BLOB/TEXT列'描述'用于密钥规范而没有密钥长度

当与postgreSQL一起使用时,这很好用.我能想到的这个错误的可能原因可能是mySQL不支持TEXT数据类型,因此,我必须将其指定为LONGTEXT.

如果我的想法正确或有其他原因,如果有人可以提供帮助.

mysql sqldatatypes node.js sequelize.js

5
推荐指数
2
解决办法
6099
查看次数

Javascript 数组到 MySQL“In”值列表

我有一个数组,其中每个元素对应一个字母数字字符串,可以说:

用户 ID : ['Ab526', 'shvx23', '23636dsd']

我想将其转换为这样的格式,以便我可以将此字符串列表传递给mySQL 查询的 IN 子句,如下所示:

Select * from Users where userIds in '(...)';

我尝试使用array.join()和许多其他方法,在某个地方建议但都是徒劳。

var userIds = ['Ab526', 'shvx23', '23636dsd']
var ids    = userIds.join(',');
var query  = 'Select * from Users where userIds in (' + ids + ')'; 
console.log(query);
Run Code Online (Sandbox Code Playgroud)

结果是:

Select * from Users where userIds in ('Ab526, shvx23, 23636dsd');

如果有人可以提出一个解决方案,告诉我如何实现我想要的目标,那将会有很大的帮助。

javascript mysql arrays string arraylist

5
推荐指数
1
解决办法
7617
查看次数

在帆中调试时听EADDRINUSE错误

我正在尝试使用node-inspector调试我的代码,但我一次又一次地在终端窗口中收到此错误

$ sudo sails debug
info: Running app in debug mode...
info: You probably want to install / run node-inspector to help with debugging!
info: https://github.com/node-inspector/node-inspector

info: ( to exit, type <CTRL>+<C> )

    Error: listen EADDRINUSE
        at exports._errnoException (util.js:746:11)
        at Agent.Server._listen2 (net.js:1156:14)
        at listen (net.js:1182:10)
        at Agent.Server.listen (net.js:1267:5)
        at Object.start (_debugger_agent.js:20:9)
        at startup (node.js:86:9)
        at node.js:814:3
Run Code Online (Sandbox Code Playgroud)

解决

错误:听EADDRINUSE

我试过关闭其他终端窗口(我的节点检查器正在运行).我已经在StackOverflow上提到了答案,但它们没有用,我甚至尝试过这个命令来杀死进程:

$ killall -9 node 
No matching processes belonging to you were found
Run Code Online (Sandbox Code Playgroud)

但仍然无法正常工作.有人请帮我解决这个问题.

error-handling terminal node.js sails.js

4
推荐指数
1
解决办法
4046
查看次数

对象数组格式

我有一个这种格式的对象:

 var request =  {
      "student": [
        [
          "name",
          "age"
        ],
        [
          "Tom",
          12
        ],
        [
          "Jack",
          13
        ]
      ]
    };
Run Code Online (Sandbox Code Playgroud)

我想把它变成这个:

 var request =  {
      "student": [
        {
          "name": "Tom",
          "age": 12
        },
        {
          "name": "Jack",
          "age": 13
        }
      ]
    }
Run Code Online (Sandbox Code Playgroud)

我试过这样做:

var response = [];  
var keysCount = req.result[0].length; 
var responseCount = req.result.length - 1; 
var i = 0,
    j = 0,
    key;

for (j = 0; j < responseCount; j++) {
    for (i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

javascript arrays object

-1
推荐指数
1
解决办法
104
查看次数