Node.js 为什么此查询返回数据库对象?

我已经向mongoDB添加了一个测试集合,我知道它确实存在。我知道确切的查询会返回我想要的结果(我自己在mongoHQ面板中进行了测试)。mongo对象运行良好。不幸的是,我不知道我做错了什么 当查询运行时,我得到db对象的控制台转储: mongo.connect(mongostr, {}, function(error, db){ var mycoll = db.collection("newuser"); mycoll.find({'userID':12345},

Node.js配置错误:没有可接受的C编译器

我正在通过SSH在hostgator linux服务器上工作,试图安装和使用node.js。我遵循了上的说明,特别是本节 tar-zxf node-v0.6.18.tar.gz#从nodejs.org下载 cd节点-v0.6.18 /配置 制造 sudo制作安装 当我键入./configure时,会出现此错误 Node.js配置错误:未找到可接受的C编译器 请确保您的系统上安装了一个C编译器,如果您安装了一个非标准前缀,请考虑调整CC环境变量。 您的系统上有C编译器吗?不太清楚如何检查,我做了一

Node.js NodeJS如何扩展企业应用程序?

假设我有一个企业Java应用程序,它基本上执行以下操作: 收集用户输入,查询后端数据库(可能是多个),运行一些算法(比如对查询的数据集进行内存计算以生成一些统计数据等),然后在一些html页面中返回数据 我的问题是:如果应用程序的瓶颈在db查询上,那么NodeJS如何在这种情况下帮助我,因为我仍然需要在呈现页面之前执行所有这些post db算法?应用程序体系结构是什么样子的?当然,node不能加快存储层的速度,也不能让导致大量后端处理的单个请求更快地满足最终用户的请求。但它所能做的不是在应用服务

node.js socket.io捕捉到不可用房间的连接

我可以创建一些侦听器来捕获房间中不存在的连接吗 在不可用的房间中发送的请求会发生什么情况? 这是一种d/dos方式吗?请解释什么是应用程序的“房间”。用户如何连接到房间?等等更详细地解释并添加一些相关代码。“room”我指的是名称空间:var ns1=io.of('/ns1')我的问题清楚吗?

Ember.js、Express.js和Node.js的资产管道?

我正在使用Express.js作为后端构建一个Ember.js应用程序。现在,我分别加载所有的*.js文件,并将我的把手模板存储在HTML文件中。我喜欢用一个与Rails中类似的成熟的“资产管道”来代替。在一个完美的世界中,这将支持: 将CoffeeScript转换为JavaScript 使用Ember.js扩展预编译把手模板 连接并缩小JavaScript和CSS(仅限产品) 我简要介绍了Require.js和convory。前两个似乎没有提供任何简单的预编译车把模板的方法,并且基于过时版

在node.js中,尝试使用下划线对多条消息进行分组,但不要';我不知道如何解析它

我使用node.js和redis接收json中的消息,普通测试中的消息如下 362S29MM09 36072 36071 ARRIVAL ARRIVAL ON TIME 362S29MM09 36075 36072 DEPARTURE DEPARTURE LATE 362K27MM09 36052 36050 ARRIVAL ARRIVAL ON TIME 请注意,第一条和第二条消息是相同的,因此我希望按第一个字段对这些消息进行分组,我使用下划线对消息进行分组,但我不知道如何解析分组后的消息

Node.js 模式如果失败1尝试2如果失败尝试3节点

你好,我正在寻找一个特定工作的模式 假设我在一个有DOM的页面中找到一个标题 如果找到了title,则将其放入var title 如果var title仍然为空,请尝试下一个函数 如果var title仍然为空,请尝试下一个函数 还有更好的办法吗 // Find Title output.title = $('title').text(); if (null(output.title)) { output.title = second try }; if (null(output.t

如何在node.js中将错误捕获到redis

在我的应用程序中,我在node.js中使用redis数据库。现在我想构建错误捕获模块。我如何在redis中捕获错误。使用Airbrake()我们可以捕获错误,但我自己如何在node.js中使用redis来捕获错误 如果查看节点空气制动器的代码,您会注意到: 这样,你可以实现你自己的代码< uncuttExabuty[/Cuth>Huffer-](虽然有人说这样做是不好的形式,但这是另一个讨论),并将你的错误存储在RIDIS中。你考虑过使用吗?它内置了错误处理功能。@migg yes im使用n

使用Node.js和Express进行早期刷新

如何使用Express实现早期刷新(chuncked传输编码) 我发现的所有示例都涉及http模块,您可以在其中调用响应对象的write()方法,这样就可以逐段发送数据 您仍然可以将write与Express一起使用: app.get('/test', function(req, res) { var count = 0; var interval = setInterval(function() { if (count++ === 5) { clearIn

Node.js 使用brew安装节点和npm

我正在进行一些安装,这需要我卸载早期的节点和npm安装程序,然后使用brew再次安装。但当我卸载它,然后使用brew安装节点安装它时,它会给我一个错误“bash:/usr/bin/npm:没有这样的文件或目录” 我再次卸载了它们,当我键入node(查看调用它的路径)时,我得到“bash:/home/username/.linuxbrew/bin/node:没有这样的文件或目录” 然而,如果我输入npm,我会得到“bash:/usr/bin/npm:没有这样的文件或目录” 我想可能是这两条路径的差

Google Adwords和Node.js:库还是访问API的不同方式?

google adwords是否有node.js库?或者,当前推荐的从node.js访问Adwords的方法是什么 有这个。我猜这不是最新的 因为我看不到js库,我想,我应该使用其他东西…没有用js或Node.js编写的官方库 您可以在上搜索社区提供的软件包 看起来是最先进的(全功能)和最新的(上次修订是几个小时前)。没有公开的问题,npmjs说,它是相当加载(300/月),所以我会去它

Node.js 在heroku上为dev和postgres使用sqlite3

我正在创建一个将部署到prod的节点应用程序。为了便于设置开发环境,我希望在部署到heroku时在本地使用sqlite3和postgres node-sqlite3和node-postgres包似乎有一点不同的API——因此我似乎需要额外的抽象层来在这两个引擎之间切换 有没有一种简单的方法可以在postgres和节点应用程序上的sqlite之间切换?您应该使用ORM,例如,对于这类问题,您似乎有两种解决方案: 使用支持两个引擎的am ORM,如 在开发和生产中使用相同的引擎。 对于具有多个成员

Node.js cloudboost的键入脚本(并与ionic2一起使用)

我想知道cloudboost.io是否有可用的打字机。我没有为现有js模块编写打字的经验。我试图准备任何最愚蠢的d.T,但没有成功。i、 e.使用ionic2和npm安装cloudboost(目前还需要单独npm安装fs)我试图使用cloudboost.d.ts之类的工具 declare module "cloudboost" {} 或 结果很奇怪,因为cloudboost包含在ionic2构建中(使用它的webpack配置),但是当使用 import * as CB from "cloudb

Node.js npm发布是否执行npm包

考虑到Node.js包管理器,即npm,我很好奇publish命令是在发布之前执行pack命令,还是执行完全不同的操作?因此,如果我要执行: npm publish <folder> npm发布 它是否首先执行以下操作: npm pack <folder> npm包 我找不到报告中提到的任何东西。 我对此感到好奇的主要原因是,我们的构建过程只是简单地执行npm发布,而没有先前明确的npm包,但是包似乎没有预期的内容。即。;当我执行本地npm pack时,.tgz

Node.js 卡桑德拉操作超时

操作超时-仅收到0个响应。“, 信息:'表示来自服务器的错误消息', 代码:4608, 一致性:1, 收到:0, 理由:1,, isDataPresent:0, 我每天尝试在cassandra集群上执行SELECT查询时都会遇到此错误。我们在m1.1大型aws实例上有一个3节点集群。他们大部分时间都成功了,但偶尔我们会出现上述错误。我们还没有生产,所以所有的桌子都很小。我们没有超过几千行的表,其他时候同样的查询也可以完成。提高超时时间不是一个选项,我不相信它能解决问题(查询应该很短,错误中的查

Node.js 如何使用Ubuntu将节点版本升级到最新版本?

我需要在我的Ubuntu系统中升级Node.js的最新版本。这个最新版本对用户友好吗?我需要使用Ubuntu 14.04升级它的命令。我建议您通过nvm(节点版本管理器)安装nodejs,这样您可以一次拥有不同的版本,并且可以轻松更改所需的版本 安装最新的节点应该是这样的 nvm install node 或安装特定版本 nvm install v4.5.0 看看这个链接:它会告诉你怎么做。

Node.js 更换expressjs';在Hapijs中使用app.use()方法?

如何替换Hapijs中的以下代码 var testRouter = require('./testRouter'); module.exports = function(app) { app.use('./test',testRouter); } 有人能帮我把这段代码转换成Hapijs吗?阅读hapi的文档,特别是如何注册路线。或者,也可以查看此链接,以便在hapi中重用express代码。如果您正在进行向下投票,请分享您的观点。如果你想要一个快速而肮脏的解决方案,请检查名为hecks的模块

相对于CPU核心,Node.js中有多少工人

当使用子进程或集群时,最好是拥有与CPU内核相同数量的子进程,还是我们应该从该数字中减去一个,因为主进程已经位于其中一个上 扩展到这个问题,当我们生成的进程比机器上的CPU核多时,Node.js如何处理事情?每个节点进程都做完全相同的事情,不管相对于CPU数量有多少个nodejs进程。问题是操作系统如何在nodejs进程之间分配可用的CPU时间。所以,这主要是一个操作系统的问题。如果您的nodejs进程比cpu多,并且在nodejs服务器中只使用非阻塞代码,那么您可能会因为拥有比cpu更多的no

Node.js 如何做好异步?

我是一名PHP开发人员,目前正在从事一个node.js项目,我以前从未体验过异步,所以这让我很困惑 我真的要这样做吗 // user model exports.getRandomUser = function(cb){ db.query('...query...', cb); } // post model exports.getRandomPost = function(uid, cb){ db.query('...query...', cb); } // router ro

Node.js NPM预安装脚本

我试图在安装任何软件包之前运行一些监控脚本。 例如: { "name": "pre-hook-check", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "preinstall": "echo preinstall", "post

Node.js 如何在没有任何崩溃日志的情况下调试崩溃?

我的公司给了我一个由另一家公司编写的Sails JS项目。它随机崩溃,没有任何崩溃日志。有时在10分钟内,有时在4小时内 // There is no error information here. [nodemon] app crashed - waiting for file changes before starting... 有没有办法找到问题的根本原因?首先(如@Jake Weary所建议的),不要使用nodemon进行调试,因为它会抑制许多错误消息 看一看,它对于单步执行代码非常有

如何在扩展(node.js)docker映像上添加自定义CA证书

我正在扩展(当前)基于节点的图像:6docker图像 我想将自定义SSL证书添加到docker映像的证书存储中。到目前为止,我的做法如下: FROM nodered/node-red-docker ADD DigiCertCA.crt /usr/local/share/ca-certificates/ RUN update-ca-certificates ADD settings.js /data/settings.js RUN npm install node-red-contrib-t

Node.js 异步函数中的sqlite请求也是异步的吗?

我正在使用node.js和npm的sqlite包和discord.js创建一个discord机器人 我试图从包含sqlite请求的异步函数中获取一个数组 我的sqlite请求似乎也是异步的,因为我在执行请求之前得到了空响应。我必须如何形成请求才能首先执行它 我已经读过这篇文章了:但我还是不明白。这不是重复的原因,链接中的问题是关于ajax,对我帮助不大。我希望如果我用自己的代码看到它,我能够更好地理解它 这就是我现在正在吃的东西。我已经尝试过回调,但没有结果 承诺方法: 这是我在dbHandle

Node.js 如何在不同时区的同一时间运行cron?

我有一个cron,我想在IST的早上6:00左右运行,同一个cron也应该在早上6:00运行 我正在使用在meteor服务器上运行cron作业 如果我只有几个时区可以支持,我会一天运行这个cron两次,它会工作的,但我将来会支持多个时区。我怎样才能不费吹灰之力就自动化同样的事情呢 可以使用特定时区创建cronjob,下面是一个示例: *1***TZ=“America/New_York”/command>/dev/null 2>&1您需要将cron作业设置为每半小时运行一次,然后根据用户所在的时区

Node.js 清理。永远登录nodejs

我有一个nodejs永远运行的服务。它正在创建巨大的日志,因此我耗尽了空间,服务器通过抛出错误“设备上没有剩余空间”来停止服务 永久目录的大小为4.6 GB。我想清理这个 我的服务当前正在运行,因此如果我清理日志,我希望这不会产生任何影响 请在下面的附加屏幕截图中找到 非常感谢您的帮助。请使用永久清除日志 或 您可以使用类似于rm*的东西 这不会删除任何子目录或其中的任何文件 另外,不要在卷中存储日志。如果你还想的话。通过附加EBS给它更多的空间为什么不投票???有什么合理的理由吗?那么我应

Node.js 如何使用nodejs child\u process exec捕获eNot

我正在尝试在没有internet连接的情况下运行以下代码 myExt = ""C:\Program Files\Microsoft VS Code\bin\code" --install-extension msjsdiag.debugger-for-chrome" console.log(myExt); const { error, stdout, stderr } = await exec(myExt); if (error) { con

Node.js Express需要一个查询参数

假设我有一条路由/ressource。我可以使用查询参数/ressource?param=ABC调用此路由,我可以使用以下参数在节点中检索: app.get('/ressource', function (req, res) { const parameter = req.query.param }) 现在,是否有一种预定义的方法可以要求参数在没有的情况下向/ressource发出请求时抛出错误?param=ABC在express中,查询将自动解析并放入req.query对象,而不是r

Node.js headObject在对象不运行时从不抛出错误';不存在

我目前正在使用aws sdk for Amazon s3(更准确地说,是函数headObject)检查文件是否存在 正如我在任何地方都能读到的那样,这是在尝试检查文件是否存在时应该使用的函数(以便通过getSignedUrl获取其URL),但是我无法让它工作 似乎无论我做什么,函数s3.headObject都告诉我对象存在。我尝试检查现有项、不存在项,甚至在不存在的存储桶中:所有这些都让我得到了完全相同的输出。我尝试了调用函数的不同方法(异步或不异步,使用回调或不使用回调),但没有区别 下面是我

Node.js MongoDB按非索引字段排序的最佳实践

我有一个应用程序,允许用户使用自己的自定义数据,所以我不知道数据是什么。但是,我确实希望允许他们对数据进行排序。 这可能是大量的数据,mongodb最终给了我内存错误(32MB限制) 最好的方法是什么?如何允许用户按未知字段对大量数据进行排序 MongoDB允许您以这样一种方式设计模式:它可以在模式中存储对象和对象关系,因此您可以允许用户存储任何类型的信息。正如@kevinadi所说,有32MB的限制。就排序而言,它可以在服务器端完成 这是我在MongoDB和Mongoose ORM中存储对象时

Node.js 图像上载错误:TypeError[ERR_INVALID_ARG_TYPE]:错误;路径“;参数的类型必须为字符串

我正在使用node.js和firebase构建后端功能。我用BusBoy建立了一个图像上传功能 我一次又一次地检查我的代码,用较小的图像(如140 kb)更改图像,并尝试检测问题。从代码中,我认为写入上载文件的路径名是一种问题,在firebase serve中,它给出了错误: TypeError[ERR_INVALID_ARG_TYPE]:“path”参数必须是string类型。接收类型未定义 当我查看详细信息时,我意识到问题出在这一行: .upload(imagestobeuploaded.f

不熟悉的Node.js express路由器格式

我正在学习一门提供以下代码的课程: const router = express.Router(); router .route('/') .get(getBootcamps) .post(createBootcamp) 上面的代码段表示“/”端点的GET和POST具有不同的路由 我从未见过这样的格式,所以对我来说很奇怪 我们为什么不需要单独的路线来进行.get和.post?引擎盖下面是怎么回事?一个人怎么能被忽略呢?事实上你是对的。我们应该将get和post方法分离成不同的方法

Node.js 如何在不同于api源的源中设置cookie

我有一个运行在http://localhost:8080和运行在http://localhost:3000我想将cookie设置为http://localhost:8080从http://localhost:3000已完成,但未将其设置为http://localhost:8080。如果我从这个域调用http://localhost:3000然后将其设置为http://localhost:3000。但是http://localhost:3000是我的服务器域。我需要将其设置为我的前端域,以便我可以

Node.js S3使用公共文件上传文件

我有一个与nodeJs合作的网站。在这里,用户可以上传他们的图片。我用芥末来储存那些照片。 我的问题是,每次用户向服务器发送图片时,它都会以私有条件保存图片。因为上传后用户看不到图片。我需要在bucket上公开它,以便用户可以看到它。 我所有的bucket都可以自由阅读,但每次我上传文件时,它都是私有的。我怎样才能公开所有上传的图片 这些是我的上传参数 const paramsForUpload={ Bucket:bucketName, 键:filePath, 正文:file.data, };

Node.js 连接到上游时出错。Docker compose、NodeJS、Nginx

我正在尝试为Nginx和NodeJS(使用React)设置一个docker compose。但会出现以下错误: *2 connect()连接到上游时失败(111:连接被拒绝),客户端:192.168.0.1,服务器:~.*,请求:“GET/favicon.ico HTTP/1.1”,上游:http://192.168.0.2:3000/favicon.ico,主机:“本地主机”,推荐人:http://localhost/“ 有人试图更改文件nginx.conf、添加dependens_on、li

Node.js 指定给Mongoose枚举的Typescript枚举?

我们有一个基于类型脚本的NodeJs项目,它利用了Mongoose。我们正试图找到一种合适的方法,基于Typescript枚举在Mongoose模式上定义枚举字段。我确实看了这些文件,但没有发现任何值得注意的地方 以枚举为例: enum ETransactionType { Buy = 'buy', Sell = 'sell', } 和猫鼬模式: const TransactionSchema = new Schema({ user: { type: Schema.Typ

Node.js Express server(平均堆栈)在应用程序中使用通配符后永久停止工作。请使用(“*”)

我正在使用WebStorm作为IDE开发Ubuntu18和Ubuntu20。构建一个平均堆栈应用程序。 在使用Express服务器时,我遇到了一个我真的不理解的错误。我在网上搜索了几个小时的文档和其他答案,但没有找到任何对我有帮助的 这是应用程序的结构(仅显示相关文件): 我正在构建一个卑鄙的应用程序。服务器只需在任何路由上为预构建的静态Angular应用程序提供服务,但与/api/* // server/server.js const app = express(); app.use

Node.js I';我在连接peerjs服务器时遇到问题

当我尝试从客户端连接到服务器时,它试图通过WSS而不是HTTPS连接。下面是我尝试在客户端连接的方式 const myPeer=new Peer(user.id{ 主机:“https://my-website-here.xyz", 路径:“/peer”, 港口:443, 代理:正确 }); 下面是我如何在服务器端启动服务器的 peerjs--9000端口--path/peer 我可以在浏览器中查看端点。基本站点运行在带有socket.io的express服务器上,我的HTTP服务器是Ngin

Node.js 猫鼬-为什么施法日期失败?

我想从范围为2个日期的集合中筛选值: const filterPattern = { createdAt: { '&gte': 2020-10-09T14:18:07.240Z, '&lte': 2020-12-09T14:26:49.544Z } }; CollectionName.find(filterPattern); 但是得到一个错误: CastError: Cast to date failed for value "{ '&

Node.js 如何从服务器可靠地提供图像?

我知道,这一定是个简单的问题。但这个问题快把我逼疯了 我有一个应用程序,允许用户上传大小可达10MB的图像和文件 我在后端使用nodejs来处理它们,目前正在将base64保存到数据库(mysql)中的blob中。我想这就是问题所在,但我检查了数据库,它的平均使用率只有3%。所以这不是瓶颈。EC2没有超过10%的CPU,所以这看起来也不错。网络接入平均约为200 MB/次,网络输出平均约为100 MB 我把东西移到了S3Bucket上,但是获取图像仍然要通过服务器,这导致加载速度非常慢(比如10

Node.js 相当于mongodb的Firestore子集合

我目前正在使用firestore的子集合模式,它允许我将集合保存在文档中 这意味着对于我的组织集合,我有组织文档,每个文档都有子集合,如:项目、成员等。。。 通过这种方式,我可以始终保证,对于一个特定的文档,我以可伸缩的方式将其所有特定的数据都限定到它的范围内。这就解决了在文档属性中嵌入数据(比如数组)的问题,这些数据可能会失控 现在,我在mongodb中没有发现这样的东西。我确实发现一个文档可以将文档的子集作为一个数组保存,但这并不完全是一个子集合 除非明确要求,否则文档的子集合不会随文档一起

Node.js 动态URL的规范标记

在我的web应用程序中有静态页面和动态页面。出于seo目的,我必须实现此链接中提到的规范标记。我为规范标记创建了一个共享服务,并调用了appcomponent的ngoninit 应用程序组件: import { Component } from '@angular/core'; import { HostListener } from '@angular/core'; import { SharedService } from './core/services/shared.service';

Node.js 如何使用google npm软件包上的操作来管理自杀意图

我的设置: 我正在使用google上的actions为google assistant创建一个自定义操作,每个意图都是dialogflow中的一个回退,然后重定向到我的服务器,在那里我使用自定义nlp引擎检查意图,然后使用google包上的actions对其作出响应 问题: 但当一个意图是自杀时,例如:“我想自杀”,谷歌会停止该行为并给出回应,而不是让我的自定义行为来处理。有什么方法可以避免这种情况吗?“Save”这样的词也会出现,如果是这样的话,谷歌会停止行动,问我是否要保存一个事件或其他什么

Node.js 所有简单(循环)路径查询返回的数据过多->;堆溢出

我对Neo4j非常陌生,使用带有Javascript驱动程序的Neo4j桌面版本。我的图有大约30000个节点和40000条边。最后一种方法是获取图形中的所有简单循环,但我在尝试执行以下cypher查询时遇到了堆溢出: let res = await session.run('MATCH p=(n)-[*2..4]-(n) RETURN nodes(p)') 这当然是因为查询试图返回找到的所有简单循环,这对我的堆来说非常重要,不幸的是,增加node.js的内存不是一个选项 有没有办法绕过这个问

Node.js 如何使while循环与nodejs中的开关盒同步?

如何在nodejs中使while循环与switch case同步?下面是我尝试迭代while循环2次的代码。但问题是,下一次迭代甚至在完成所有同步函数(readdirSync、readFileSync等)之前就被迭代了 我想要的是,在每次whileloop迭代中,它应该运行所有的方法,然后再次运行下一次迭代 目前的输出是: i = 0 i = 1 下面是我的代码: const dir4Data = 'C:/Users/em/Desktop/Regex_test_case/data/go

Node.js 我想通过NodeJS Express应用程序将Azure blob存储与Angular应用程序连接

我真正想做的是,我不想让文件直接从angular web应用上传到Azure blob存储。相反,我想首先通过express API将上传的文件发送到NodeJS应用程序,然后从他们那里上传到azure应用程序,如果我真的可以这样做的话。我不认为直接从angular web应用程序上载文件是安全的,因为它将显示我的azure blob存储凭据,这就是我希望通过NodeJS应用程序上载文件的原因。 如果这个问题有解决办法,请告诉我。 或者如果解决方案有点不同但安全,那么我还是想知道它。 并分享我可

Node.js 如何在不先保存文件的情况下对文件进行流式处理?

我使用json2csv库将下面的代码放在一起,创建了一个名为example.CSV的CSV 我希望在将CSV文件传递到前端下载之前,不必保存和存储该文件 如果不先保存文件,我似乎不知道如何将文件流式传输或管道传输到前端 如何将json2csv库的输出CSV文件直接发送到前端 我的一些代码 const input = new Readable({ objectMode: true }); input._read = () => {}; input.push(JSON.

  1    2   3   4   5   6  ... 下一页 最后一页 共 2190 页