Tag: node.js

如何删除mongoose模式中的根数组?

在我的mongodb数据库中,当我做一个获取请求来接收所有的项目,它与这个响应,但有一个数组,我不想在那里。 这是回应: [{"_id":"598f43ab610a4b3540481615","__v":0,"data":[{"name":"Test","ip":"1","port":7777,"_id":"598f43ab610a4b3540481616","online":true}]}] 第一个数组在[]覆盖响应没有名称,我不知道如何删除它。

再次关于asynchronous/在JavaScript中等待

我现在的function如下所示: var GetImages = async() => { var images_array = []; await request ({ url: `https://api.tumblr.com/v2/blog/nameblog/posts?api_key=${process.env.TUMBLR_KEY}&type=photo`, json: true }, (error, response, body) => { if(error){ console.log('Unable to connect'); }else if(body.meta.status === "ZERO_RESULTS"){ console.log('Uable to find that address.'); }else if(body.meta.status === 200){ body.response.posts.forEach(function(obj) { obj.photos.forEach(function(photo) { if(photo.original_size.width>photo.original_size.height){ images_array.push(photo.original_size.url); console.log("dawdaw"); } }); }); //callback(images_array); } }); return […]

如何发送JSON中的ArrayBuffer从js客户端到nodejs服务器?

我想发送数据的typesArrayBuffer在JSON到我的服务器使用socket.io像这样: socket.emit('record', { name: myUsername + '.wav', data: data //arraybuffer }); 在服务器端,当我在套接字中收到“logging”事件时,我从JSON获取数据并将其保存在名称文件中,如下所示: socket.on('record', function(message){ var fileWriter = new wav.FileWriter(message.name, { channels: 1, sampleRate: 48000, bitDepth: 16 }); message.data.pipe(fileWriter); }); 我使用npm的require('wav') & require('stream')包。 问题是我的服务器崩溃message.data.pipe(fileWriter); 有这个错误: TypeError: message.data.pipe is not a function 我究竟做错了什么? 我不能在socket.io中像这样发送ArrayBuffer吗?

Typescriptasynchronous生成器,用于套接字

我想了解TSasynchronous生成器。 在Node.js中,我打开一个套接字,从中读取所有数据,然后closures它。 我试图把这个成为一个asynchronous生成器的数据块。 async function* connectAndRead() { const socket = net.connect(80, 'localhost'); socket.on('data', data => ???); socket.on('end', socket.close()); } 有可能做一个asynchronous发生器的数据从套接字读取?

Webpack不能在Linux上安装

最近我改变我的环境从Windows 10到backbox Linux 4.5.1,但我已经尝试安装使用npm多次的webpack。 它永远不会安装它给出这些错误。 任何帮助? verbose tar unpack /home/dove/.npm/webpack/1.12.13/package.tgz 34 silly lockFile 27155615-tar-usr-lib-node-modules-webpack tar:///usr/lib/node_modules/webpack 35 verbose lock tar:///usr/lib/node_modules/webpack /home/dove/.npm/27155615-tar-usr-lib-node-modules-webpack.lock 36 silly lockFile 5c48f9fd–npm-webpack-1-12-13-package-tgz tar:///home/dove/.npm/webpack/1.12.13/package.tgz 37 verbose lock tar:///home/dove/.npm/webpack/1.12.13/package.tgz /home/dove/.npm/5c48f9fd–npm-webpack-1-12-13-package-tgz.lock 38 silly gunzTarPerm modes [ '775', '664' ] 39 error Error: EACCES, mkdir '/usr/lib/node_modules/webpack' 39 error { [Error: EACCES, mkdir '/usr/lib/node_modules/webpack'] 39 error errno: 3, […]

Docker容器中的NodeJS webpack构build

我阅读了关于长期caching的内容,并试图在我的项目中实现这一点,但是当我试图在Docker容器中构build它时,清单文件会生成错误的资源链接,但是生成过程却很顺利。 Dockerfile.web FROM node:8.2.1-alpine WORKDIR /web ADD /tmp/app.tar.gz /web # At the end node_modules will be removed because of bug with npm prune. # In this case we need re-install production-only deps to reduce container weight. RUN yarn install && \ yarn run build-production && \ rm -rf node_modules && \ yarn install –production && […]

获取__dirname指向文件夹path,而不是实际连接的文件夹path

如何让__dirname指向保存的文件夹path,而不是使用npm链接的符号链接文件的实际path。 脚本 文件夹设置 project | —- moduleA | | | —- moduleA.js | —- app | — node_modules cd project/moduleA npm link cd project/app npm link moduleA 在moduleA.js里面 __dirname -> /project/moduleA 但是,预期的行为是 __dirname -> /project/app/node_modules/moduleA 因为npm链接会创build一个sym-link,将链接的模块插入到node_modules文件夹中,从而模拟直接安装模块的体验。 我怎样才能让__dirname指向保存的path,而不是模块所在的真实path? 注意:–preserve-symlinks命令行选项不会影响__dirname的值

Random.cat Discord bot(discord.js)

我想在我的不和谐bot中做一个random.cat集成。 用下面的代码我设法从http://random.cat/meow得到JSON。 现在我想发送message.channel.send的图像,但我不能得到它的工作。 任何帮助? (真正的帮助,而不是“下载一些猫和随机select器”) const Discord = require ("discord.js"); var request = require ("request"); const TOKEN = "Hidden" const PREFIX = "`" var cat = "http://random.cat/meow" bot.on("message", function(message) { if (message.author.equals(bot.user))return; if (!message.content.startsWith(PREFIX)) return; var args = message.content.substring(PREFIX.length).split(" "); switch (args[0].toLowerCase()) { case "cat": request({ url: cat, json: true }, function (error, response, body) […]

嵌套的对象数组

这是我的mongodb模式。 var Schema = mongoose.Schema; var UserSchema = new Schema({ created: { type: Date, Default: Date.now() }, name: { type: String, default: "", // required: "Title Cannot Be Blank", trim: true }, email: { type: String, default: "", // required: "Content is required", trim: true }, rooms: [ { roomId: "string", roomName: "String", pic: "string", […]

格式化date时间对象作为SQL的string

我试图unit testing一个新的api端点,我已经build立了查询一个SQLite实例,并返回结果。 我从JSON播种SQLite实例,这是我试图拿起的logging: { "model": "JobResponse", "data": { "id": 4, "JobId": "1", "createdAt": "2017-08-13 00:01" } }, 我通常使用sequelize,并将使用timejs对象作为timeparam,但我需要的查询是不可能在sequelize,所以我使用原始查询。 我的JS正在生成以下查询: SELECT JobId, WHERE JobId = 2 AND createdAt > 2017-08-13 AND createdAt < 2017-08-14; 我确信这是datetime元素格式化的问题,但JSON种子和SQL查询都必须是stringforms,我已经尝试了moment().format() ,但后来我得到错误,例如: SQLITE_ERROR:接近“00” 这大概是因为时刻格式里面有空格。 我应该如何格式化这些date时间参数作为string? 更新 根据评论中的讨论,我现在已经midify我的查询包含引号,例如SELECT JobId, FROM JobResponses WHERE createdAt > '2017-08-10 00:00:01' AND createdAt < '2017-08-10 23:59:00' GROUP BY […]