Articles of node.js

在嵌套模型中使用mongoose-auto-increment插件

我正在尝试在每次调用api调用时增加procedureid doctorId和doctorId的值。 我正在使用下面的语法。 但是,当我第二次通过浏览器调用api时,它提供了一个错误Treatment.procedureid_1 dup key 。 我可以看到,通过自动增量创build的identityCounter集合中的procedureID和doctorId的值正在增加。但是,在各自的架构 你能帮我解决这个问题吗? var mongoose = require('mongoose'); var autoIncrement = require('mongoose-auto-increment'); var hospitalDoctorSchema = new Schema({ Treatment: { procedureid: { type: Number,required: true, unique: true,default: 0 }, doctor: { doctorId: { type: Number, required: true, unique: true, dropDups: true, default: 0 }, }, }, updated_at: { type: Date, required: […]

有没有使用async_hooks检索asynchronous堆栈跟踪的任何npm模块?

节点8中有一个名为“async_hook”的新API,我相信应该使模块作者能够打印asynchronous堆栈跟踪。 我正在寻找类似于chrome dev-toolsasynchronous堆栈跟踪实现的东西,但在开发/debugging期间从控制台使用。 我知道这将带来性能开销 – 但这对我来说很好。 有没有人知道任何正在开发的模块,这样做?

节点networking应用程序自动部署到云计算机

我是CI / CD的全新产品,需要一些关于如何将小型Web应用程序部署到云计算机的指导。 我的Web应用程序是使用Webpack 2构build的。生成的文件通过Node Web服务器提供,并需要两个附加的Node Web服务器才能工作(后端API)。 所有三个Node web服务器都在同一个git仓库中,并且被相同的package.json文件覆盖。 每次我提交代码,都会触发Travis构build和testing代码。 当我的提交通过特拉维斯,我决定部署该应用程序时,我通过以下步骤 SSH到我的远程机器 停止我在屏幕上运行的所有三个NodeJS Web服务器 git pull最近的变化 npm install来安装应用程序 npm run build生成运行生成命令生成的文件服务 再次在屏幕上启动所有三个节点服务器 我想自动化这个过程,以便每个通过的提交被部署。 或者甚至更好,这样我就可以select在通过某个UI传递Travis之后部署哪个构build。 我知道从厨师到Docker有很多工具可以做到这一点。 我正在寻找一个相当简单的解决scheme,我愿意学习新事物。 我的云提供商目前是Linode,但我更喜欢云提供商无关紧要的解决scheme。 我真的试图find这样一个好的存在的问题,但是我很惊讶,我找不到一个。

关于获取请求上的参数的静态资源上的错误404

我正在做一个生物医学网站与node.js,我遇到了一个问题:在我的app.js(服务器文件),我有这些代码 app.get('/disease/:orphanetID', function(req, res) { var orphanetID=req.params.orphanetID; res.render('pages/disease.ejs', {activetitle: "views"}); }); 问题是疾病所需的所有静态资源都会得到404错误。 例如,这个代码在disease.ejs中: <script src="static/js/DOMscripts.js"></script> 在Chrome控制台中,我看到: (red cross) GET http://localhost:8080/disease/static/js/DOMscripts.js 事情是,我的静态资源是在http:// localhost:8080 /静态/ js / DOMscripts.js ,只有string“疾病”在URL中出现…这不是一个好的URL! 在testing了一些东西之后,我发现这个代码正在工作: app.get('/disease', function(req, res) { //var orphanetID=req.params.orphanetID; res.render('pages/disease.ejs', {activetitle: "views"}); }); 所以,如果我没有任何参数,它的工作,但我需要它。 有关信息,我的代码为静态资源是: app.use('/static', express.static(__dirname + '/public')); 我该怎么做一个参数?

错误被抛出,但错误响应对象在Mongoose中为空

我正在尝试向我的API发送请求。 我的代码是这样的 app.post('/api/create', (req, res, next) => { if (!req.headers || !req.headers.authorization) { return res.status(500).json({ status: 'error', err: 'No authorization header' }); } const bits = req.headers.authorization.split(' '); const scheme = bits[0]; const token = bits[1]; jwt.verify(token, 'secret', function(err, decoded) { if (!!err) { return res.status(400).json({ status: 'error', err: 'Invalid credentials.' }); } // const […]

在串口上获取新旧数据 – Arduino uno,nodejs,socket.io和传感器

我已经附加了一个传感器到arduino,我试图把这些数据使用一个串口进入Nodejs。 我将用它来制作图表。 从串口推送的数据,在terminal上打印时看起来像这样: 1,2 1,2 1,3 1,2 1,3 1,4 1,2 1,3 1,4 1,5 正如你可以看到所有以前的数据再次推动:/我不想要的 预期产出 1,2 1,3 1,4 1,5 1,6 格式在这里: <value 1> , <value 2> 稍后我将分解这些传入的数据,并将其推送为2个不同的数据集,以便得到如下graphics: http://www.chartjs.org/samples/latest/charts/line/multi-axis.html 代码 – nodejs var SerialPort = require("serialport"); var serialport = new SerialPort("COM4"); var received = ""; serialport.on('open', function(){ console.log('Serial Port Opend'); serialport.on('data', function(data){ received += data.toString(); console.log("incoming […]

如何在每次迭代调用asynchronous选项时等待forEach完成?

好的,这是计划。 浏览每个文件,将文件添加到数组中。 一旦添加完所有文件,然后使用JSZipUtility和Docxtemplater进行合并: 'click .merge-icon': (e) => { var programId = Router.current().url.split('/').pop(); var programObj = Programs.findOne(programId); var insertedDocuments = []; var i = 0; var count = programObj.activityIds.count; var fileDownloadPromise = new Promise((resolve, reject) => { programObj.activityIds.forEach(function(activityId) { var activityObj = Activities.findOne(activityId); var documentObj = ActivityFiles.findOne(activityObj.documents.pop()._id); JSZipUtils.getBinaryContent(documentObj.url(), callback); function callback(error, content) { var zip = […]

循环数据时如何使用多个callback

我试图获取HTML表单数据,通过循环,改变一下,并将其插入数据库。 我已经尝试像下面的app.js. 我怎样才能做callback,使formdata我修改了.create函数? 我从各处search,总是以某种方式结束了死胡同和未定义的variables。 app.js: //Find the day where to save Day.findById(req.params.id, function(err, day) { if (err) { console.log(err); res.redirect("/diary"); } else { // Search function to find data with _id function ingredientIdQuery(reqBodyId) { var ingQuery = Ingredient.find({_id:reqBodyId}); return dbQuery; } // This loops through HTML formdata and formats it for mongoose model for (var […]

TypeError:尝试将节点js连接到mysql以获取zendesk应用程序时,无法读取null属性的“createConnection”

我是新来的节点,我试图创build一个连接到MySQL时,当用户input一个值的zendesk应用程序。 这是app.js的代码。 ( function() { return { events: { // Framework Events 'app.created':'checkLocalStorage', // Call 'checkLocalStorage' function below // Request Events (None) // DOM events 'keyup #input-value-id': function(event){ // User clicked the 'enter'/'return' button so store value in localStorage if(event.keyCode === 13) { return this.processInputValue(); } }, 'click .reset': 'resetValue' // Call 'resetValue' function below […]

如何与多个虚拟主机共享相同的nodejs端口(3000)(也是nodejs应用程序)

与节点服务器上的多个域应用程序的vhost相关,我现在面临的问题是无法调用vhost doamin的app.js,我的设置如下所示: root folder : website vhost folder: website/vietvan vhost folder: website/thanksme 根wbesite上的根app.js如下所示: var vhost = require('vhost'); // Module dependencies. var application_root = __dirname, express = require( 'express' ), vhost = require( 'vhost' ); function createVirtualHost(domainName, dirPath) { return vhost(domainName, express.static( dirPath )); } //Create server var app = express(); //Create the virtual hosts var […]