validation多个Mongoose模式属性?

我试图做的经典事情,以确保用户的用户名不同于他们的密码,在Nodejs / Mongoose。 我认为使用单独的validationfunction会很好,但是我不知道如何去做。 到目前为止,我已经使用了Alex Young记事本教程中的模型代码 。 他创build了我重新使用的虚拟password属性。 我有如下的基本validation: function validatePresenceOf(value) { return value && value.length; } User = new Schema({ 'username': { type: String, validate: [ validatePresenceOf, 'a username is required', ], index: { unique: true } }, }); 我将如何允许validation者访问其他属性?

仅在VPS上托pipe指定域的node.js

我有一个VPS,我已经主持了几个网站。 所有基于LAMP堆栈,所以没有什么大不了的。 他们提供WHM / cpanel来pipe理不同的网站。 我决定尝试node.js,为它购买了一个单独的域,并且我需要一些关于如何将该域指向node.js应用程序的线索。 所以这里是问题: 1)在不妨碍其他站点的情况下,将node.js应用程序托pipe在特定域中的最佳方式是什么? 我将如何configuration域? 是的,我想使用默认的http端口(80)作为节点。 2)由于Apache已经在听80端口了,为了达到目的,使用Apache mod_proxy是个好主意吗? 我的意思是如果我想使用websocket,apache是​​否仍然使用单独的线程来维护与节点的连接? PS。 我已经看到这个问题 ,但答案似乎并不令人信服。 编辑: 我忘了提及,我有一个未使用的专用IP,可用于node.js的VPS。

JSON如何不能保存对象的function?

在我的游戏中,我通过将所有对象转换为JSON并将其保存到文件来保存当前状态。 一些对象,像敌人一样,有它们的function,但JSON不能保存function! 有替代scheme吗?

parsingJSON数组nodejs

所以我正在学习NodeJS和一般的JavaScript,并玩弄它,我有一些parsingJSON的问题。 我从“用户”收到以下内容: { "sync_contact_list": [ { "name": "c", "number": "789", "email": "" }, { "name": "b", "number": "123", "email": "a@a.com" }, { "name": "a", "number": "416", "email": "" } ] } 我的问题是我如何正确parsing这个来获取个人位: { "name": "a", "number": "416", "email": "" } 我一直在尝试做var jsonObject = JSON.parse(req.body); ,但我不断收到parsing错误,不pipe我如何改变我收到的JSON(单个组件,所有的等)。 任何人都可以指出我做错了什么? 编辑:所以我使用快递处理不同的path。 所以我有app.js: var express = require('express') , routes = […]

在node.js上添加外部JavaScript文件

我有一个节点服务器,我想添加一个外部.js文件(比如说something.js )。 我现在有这个代码: var st = require('./js/something'); 其中something.js是/js/文件夹内的JavaScript文件。 服务器编译并运行,但是当我尝试使用在something.js定义的函数节点告诉我他们没有被定义。 我也尝试使用像st.s()运行它们,但没有任何反应,我有一个错误,说对象没有方法s() 。 谁能帮我? 谢谢, 编辑: logging st给{} (我从console.log(JSON.stringify(st))获得它console.log(JSON.stringify(st)) ,同样做console.log(st)给出结果{} 。 something.js的内容就是something.js定义的一堆函数 function s() { alert("s"); } function t() { alert("t"); }

Colors.js:将颜色添加到variables(string)的正确语法?

除了我的静态消息(显示得很好)之外,在console.log中如何使名为“port”的variables变成绿色? console.log('Express app started on port '.green + port); 我没有看到为文档中的variables添加颜色的任何内容,当然如果我只是将.green添加到端口,它将查找端口variables的.green元素,这将是未定义的。 使用: https : //github.com/Marak/colors.js

Node.js – 设置默认局部variables传递到布局/模板

我正在使用Node.js和Express,我想传递一个本地variables在每个页面的布局,有没有办法做到这一点? 我使用Jade作为我的模板引擎。 我想这是因为我想在每个页面(使用会话)显示用户的用户名,任何方式来做到这一点,而不是每次包括在本地对象?

Node.js – 等待多个函数来完成

所以我有这样的代码: var data = someobject; for(var x in data){ mongo.findOne({ _id:data[x]._id },function(e,post){ if(post != null){ post.title = 'omg updated'; post.save(function(){ console.log('all done updating'); }); } }); } // I need all ^ those functions to be done before continuing to the following function: some_function(); 我已经看了asynchronous库,我用于并行时,我有一个function,我需要运行一次的设置数量。 但是我不确定如何达到预期的效果。 所有这些function可以并行运行,我只需要知道什么时候完成。

当试图使用require('connect')。utils.parseCookie和nodejs时,找不到模块'connect'

我是相对较新的nodejs等无论如何,我有一个程序,我正在尝试编写使用会话/身份validation系统基于这一个在这里: http : //iamtherockstar.com/blog/2012/02/14/nodejs-和-socketio-authentication-all-way-down /这是基于这一个严重依据我认为(除了更新的更新版本) http://www.danielbaulig.de/socket-ioexpress/ (它利用Node.js,Express.js,Redis和Sockets.io)无论如何,当我试图运行我的程序,我得到这个错误: 错误:在Module.require(module.js:354:17)上的Function._load(module.js:279:25)处的Function._resolveFilename(module.js:332:11)处找不到模块“connect”在对象上的module.js:370:17)。 (module.js:459:10)在Module._compile(module.js:441:26)上的(/home/jez/webdir/app1/app.js:62:19)在module.0(module.js:479:10)处的Function._load(module.js:308:12)处的module.js:348:31) 这条代码对应的是: var parseCookie = require('connect').utils.parseCookie; 现在在两个教程中,他们在调用parseCookie()方法之前使用这一行,但是他们都没有提到需要“连接”模块,只有build立了appon连接的快速模块我相信。 我的程序和express一起工作得很好,在上面的教程中进行调整之前会运行正常。 我感觉它可能是node.js / express / socket.io的最近更新,但是这个教程只是在几天前写的?,任何帮助,将不胜感激!

NodeJS + Express + Mongo Session存储

我目前正在尝试在MongoDb中存储会话。 我尝试了express-session-mongo和connect-mongodb,当我尝试加载login页面时,它们都给了我相同的“500内部服务器错误”。 这让我想,也许在某处与mongoose有冲突。 无论如何,这是我的设置: app.js: var MongoStore = require('connect-mongodb'); var MongoDb = require('mongodb').Db; var Server = require('mongodb').Server; var db = new MongoDb('myDb', new Server('localhost', 27017, {auto_reconnect: true, native_parser: false})); app.configure(function() { app.use(express.logger({format: 'dev'})); app.set('views', __dirname + '/../views'); app.set('view engine', 'jade'); app.set('view options', { layout: false }); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(mongooseAuth.middleware()); app.use(require('./mysite').middleware()); app.use(express.methodOverride()); }); app.configure('production', function(){ var […]