Tag: mean stack

当mongoose从3.8.8更新到4.x时,Mongo错误

我有一个MEAN堆栈项目。 我正在使用节点v5.9.1 "mongoose": "~3.8.8" MongoDB shell版本:Ubuntu 10.10上的3.0.10 我需要使用mongoose-encryption ,说它需要mongoose4.x. 每当我将mongoose从3.8升级到4.x时,服务器在收到请求时都会崩溃。 info: MEAN.JS application started on port 3000 (node) warning: possible EventEmitter memory leak detected. 11 reconnect listeners added. Use emitter.setMaxListeners() to increase limit. Trace at addListener (events.js:252:17) at Server.connect (/media/saket/d/git/project/node_modules/mongodb/lib/server.js:326:17) at open (/media/saket/d/git/project/node_modules/mongodb/lib/db.js:224:19) at Db.open (/media/saket/d/git/project/node_modules/mongodb/lib/db.js:247:44) at MongoStore._open_database (/media/saket/d/git/project/node_modules/connect-mongo/lib/connect-mongo.js:182:15) at MongoStore._get_collection (/media/saket/d/git/project/node_modules/connect-mongo/lib/connect-mongo.js:177:14) at /media/saket/d/git/project/node_modules/connect-mongo/lib/connect-mongo.js:194:16 at […]

为什么密码和盐自动在平均值?

在这里,我试图validation用户模块中的手机号码。 我创build了令牌,并发送给用户,但每当用户尝试使用该特定令牌进行validation时,“密码”和“盐”会自动更改。 如何避免这一点? 有人帮我出来..在这里我只想更新 user.Mobileverification = 'verfied'; user.Mobileverificationcode = undefined; user.mobileVerificationExpires = undefined; 以上三个variables被改变,但我不知道密码和盐为什么改变了? 我在下面给出了我的路线: app.route('/auth/mobilereset/:token').get(users.mobileresetResetToken); app.route('/auth/mobilereset/:token').post(users.mobilereset); 控制器: exports.mobileresetResetToken = function(req, res) { User.findOne({ Mobileverificationcode :req.params.token, mobileVerificationExpires: { $gt: Date.now() } // resetPasswordToken: req.params.token, // resetPasswordExpires: { // $gt: Date.now() // } }, function(err, user) { if (!user) { res.send({ message: 'Invalid token' }); } […]

在Express(MEANJS)生产模式下使用LetsEncrypt SSL证书

我正在使用Meanjs样板。 我的LetsEncrypt证书可以在开发模式和非节点应用上正常工作,但是我不能使它在prod模式下工作。 我启动应用程序时出现以下消息: + Error: Certificate file or key file is missing, falling back to non-SSL mode To create them, simply run the following from your shell: sh ./scripts/generate-ssl-certs.sh 如果我运行sh ./scripts/generate-ssl-certs.sh不受信任的自签名证书生成,但只有在我将它们指向nginxconfiguration时才起作用。 否则,我在浏览器上得到502错误。 顺便说一句,我需要使用可信任的证书。 如果我尝试复制我信任的LetsEncrypt证书到应用程序pathconfig/sslcerts/我也得到502错误。 来自/etc/letsencrypt/live/domain.com/证书文件(链接) cert.pem chain.pem fullchain.pem privkey.pem Nginx的错误.log: 2016/11/02 23:50:28 [error] 26186#26186: *164 upstream prematurely closed connection while reading response header from upstream, […]

Mongoose.findOneAndUpdate()不创build新文档

当客户端提供新的WEEKNUM时,mongoose.findOneAndUpdate()方法不会创build新的对象。 相反,它只是更新已经存在于集合中的WEEKNUM和WEEKDATA。 我该如何解决这个问题? 我在这里错过了什么? 架构: { ageGroup:String, monthData: [{ month:String, circleTimeWordsList:[String], circleTimeTips:[String], weekData : [{ weekNum : String, theme : String, dayData: [{ day:String, circleTimeSong: String, circleTimeBook: String, circleTimeActivity: String, learningCenter: [{ learningCenterName:String, learningCenterActivity:String }] }] }] }] } 这是我的模式。 我正在使用mongoose.findOneAndUpdate()插入/更新集合中的数据。 例如。 如果我们没有任何collections。 数据将被插入。 如果我们已经收集了以下数据。 { ageGroup:"2", monthData: { month:"January", circleTimeWordsList:["word 1", "word 2"], circleTimeTips:["teaching […]

Express和Angular在MEAN.JS中的路由

我遇到了从我的Angular模板路由和Express – > Angular调用Express路由的问题。 这段代码显示了我试图解决这个问题。 // Server.js文件,主Node.js代码 var Outlook = require('Outlook'); // Bootstrap db connection var db = mongoose.connect(config.db, function(err) { etc.. }); // Init the express application var app = require('./config/express')(db); app.listen('8443'); // Main server. // App.js – Outlook模块Express路由示例代码 var app = require('express'); var app = express(); // Configure express // Set up rendering […]

在ReactJS中路由

任何人都可以向我解释路由如何在Reactjs中工作? browserHistory.push('/ location')只更新URL栏并且不redirect到它。 browserHistory.goBack()的作品,但只有当页面被访问之前,因此名称。 这让我很难理解browserHitory.goForward()如何工作? login成功后,我一直在尝试redirect到仪表板。 而已。 从我读到的,React不允许重新加载页面。 如果我们尝试刷新页面或在URL中写入地址,它将显示不能GET /path错误; 除非请求是在服务器上进行的。 我试图在服务器上创build路由,但无法获得如何实现它的语法。 我只在Node中进行编码,以便将res.send()发送到客户端应用程序。 我如何渲染这条路? 因为渲染到该path将意味着节点的App.js具有React应用程序的视图引擎。 我不知道是否足够清楚,但任何build议将是有益的。 谢谢。

如何将数据更新到js中特定位置的文件中

我有一个文件的数据如下, Test.txt, <template class="get" type="amp-mustache"> <div class="divcenter"> /////Need to append data at this point///// </div> </template> 我有如下的数据 [ {'text':'<p>grapes</p>'}, {'text':'<p>banana</p>'}, {'text':'<p>orange</p>'}, {'text':'<p>apple</p>'}, {'text':'<p>gua</p>'} ] 追加数据后应该是, <template class="get"> <div class="divcenter"> <p>grapes</p> <p>banana</p> <p>orange</p> <p>apple</p> <p>gua</p> </div> </template> 我的代码, fs.readFile(Test.txt, function read(err, data) { if (err) { throw err; } var file_content = data.toString(); var c = […]

如何通过linux中的subprocess在节点js中运行c程序

我想创build一个应用程序来运行使用MEAN堆栈的C / C ++程序。 我有一个用户界面,可以写程序,节点作为后端,程序可以通过subprocess编译。 只有printf选项的基本c程序已经用下面的命令正确执行了。 程序文件名:test.c #include<stdio.h> int main(){ printf("hello world"); return 0; } 节点命令:为了编译文件,我使用了subprocess“exec(”gcc -o test test.c“,fun(){…})”,它创build没有任何扩展名的二进制输出文件(testing)。 为了运行这个二进制文件,我使用了“exec(”./test“,fun(error,stdout,stderr){…}))”,并将输出返回为“hello world”。 但是如果我在程序中使用“scanf”语句,例如: #include<stdio.h> int main(){ int a; scanf("%d",&a); printf("The number is", a); return 0; } 这里运行程序的命令不起作用。 它只是执行程序,我没有得到任何输出。 在这种情况下,我希望节点subprocess等待用户从UI(即:angular度)input“a”值并返回输出。 先谢谢你。

mean.io使用http请求堆叠长angular度运行操作

我正在使用平均值堆栈开发一个Web应用程序,对几个mongo db集合执行几个操作。 系统总体意图是在几个系统之间执行数据同步。 每个系统数据都存储在不同的集合中。 毋庸置疑,这些collections文件具有共同的性质。 在nodeJS或者API级别上,我创build了get和post请求,这些请求将asynchronous地遍历主集合,并尝试将该集合上的文档与其他集合中的文档链接起来。 自然这个过程需要几分钟的时间。 可能链接的文档存储在不同的mongodb集合中。 这些将在稍后的另一个节点js API调用中处理。 API设置后,我正在创build一个控制器和angular度的服务,以连接到API,并执行API获取和发布请求。 当我在UI中点击button来执行这个链接操作时,操作开始时不会阻塞浏览器,但最终浏览器会得到一个ERR_EMPTY_RESPONSE,因为操作仍在进行,所以我从来没有真正调用response.end() 。 我认为可能是一个可能的解决scheme: 操作开始后立即回复:PROBLEM – >我需要确保此操作完成,以便对所产生的集合进行其他调用。 所以我做了这个操作来完成,让其他人在结果数据集上完成。 为了避免浏览器在后台长时间运行操作完成之前closures连接,我该怎么做? 码: html – >用户点击开始链接logging的button: <div> <md-button aria-label="link all records" ng-click="vm.linkRecords()"> <md-icon class="mdi mdi-plus"></md-icon>Link Records </md-button> </div> 控制器 :canLink,canGrade都是布尔variables,所以当服务器正在进行一个操作时,其他任何一个都不能执行。 一旦操作完成,它将返回true,并允许所有操作。 function linkRecords() { $state.go('app.records.link'); }// END linkRecords page $scope.$on('linkRecords', function(event, batchSize){ if ( canLink && canGrade) { […]

会话处理在平均堆栈中

我是新的MEAN堆栈,目前平均堆栈正在插入会话到mongodb: app.use(session({ saveUninitialized: true, resave: true, //cookie: { maxAge: 600 }, secret: config.sessionSecret, store: newmongoStore({ db: db.connection.db, collection: config.sessionCollection }) })); 但我想保存一些自定义variables在该会话中访问他们跨请求,我没有得到如何将其保存在会话中。 假设我想在会话中保存mydata ,我看到了一些例子,并尝试如下: req.session.mydata = 'projectdata'; req.session.cookie.mydata = 'projectdata'; 两者都不起作用。 另外我想更新maxAgevariables的每个请求到服务器端,如何做到这一点? 请帮助我。