我有应用程序使用nodejs和mongodb。 我用mongoose做ODM。 现在我想在整个应用程序中logging所有发生mongoose触发的查询。 如何logging这些?
我们正在使用bcrypt来获取永不需要解密的密码和数据。 应该做些什么来保护其他用户信息呢。 对于这个例子可以说,我们不希望用户真实姓名是纯文本的情况下,以防有人获得数据库。 这是一些敏感的数据,但也需要不时调用并以纯文本显示。 有一个简单的方法来做到这一点?
现在我已经安装了节点和Npm,我在terminal(是的,我在Mac上)运行这个命令: npm install -g bower 随后从terminal输出: npm http GET https://registry.npmjs.org/bower npm http 304 https://registry.npmjs.org/bower npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower' npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/usr/local/lib/node_modules/bower', npm ERR! fstream_type: 'Directory', npm ERR! fstream_path: '/usr/local/lib/node_modules/bower', npm ERR! fstream_class: 'DirWriter', npm ERR! fstream_stack: npm […]
我有这个玉代码: p | Avatar hosted by a(href='http://www.gravatar.com/', target='_blank') Gravatar 问题是,它的呈现 <p>Avatar hosted by<a href="http://www.gravatar.com/" target="_blank">Gravatar</a></p> 看起来像:“由Gravatar托pipe的头像”。 无论我在文本行末尾添加了多less空格,它仍然是这样的。 Docs不能帮助我,我无法想象这是一个不常见的问题。
NodeJS中是否有模块连接和缩小JavaScript文件?
嗨,我是Nodejs的新手目前我试图用node.js处理post请求我写了一个名为server.js的java脚本文件,它在浏览器上显示一个表单。 我想要使用表单值并将其张贴在HTML中。 对于示例窗体包含用户名,存储库,分支和一个提交button,所以我想填写表单后,当用户提交使用提交button,那么他应该能够看到这些值的HTML方面。 my server. js code is : var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/html'}); response.end('<html><body>' + '<h1>XYZ Repository Commit Monitor</h1>' + '<form method="post" action="." enctype="application/x-www-form-urlencoded"><fieldset>' + '<div><label for="UserName">User Name:</label><input type="text" id="UserName" name="UserName" /></div>' + '<div><label for="Repository">Repository:</label><input type="text" id="Repository" name="Repository" /></div>' + '<div><label for="Branch">Branch:</label><input type="text" id="Branch" name="Branch" value="master" /></div>' + […]
我一直在试图安装凉亭,但我一定是失去了一些东西,因为命令凉亭没有任何回报! 我安装了这样的凉亭: sudo npm install bower -g 这是输出: npm http GET https://registry.npmjs.org/bower npm http 304 https://registry.npmjs.org/bower npm http GET https://registry.npmjs.org/tmp … … # Many requests here n_n npm http GET https://registry.npmjs.org/traverse npm http 304 https://registry.npmjs.org/traverse /usr/bin/bower -> /usr/lib/node_modules/bower/bin/bower bower@0.8.5 /usr/lib/node_modules/bower ├── stable@0.1.3 ├── archy@0.0.2 ├── colors@0.6.0-1 ├── tmp@0.0.16 ├── async@0.2.6 ├── mkdirp@0.3.5 ├── semver@1.1.4 ├── […]
我有一个问题,我以前没有见过与Mongoose findByIdAndUpdate不返回正确的模型在callback。 代码如下: var id = args._id; var updateObj = {updatedDate: Date.now()}; _.extend(updateObj, args); Model.findByIdAndUpdate(id, updateObj, function(err, model) { if (err) { logger.error(modelString +':edit' + modelString +' – ' + err.message); self.emit('item:failure', 'Failed to edit ' + modelString); return; } self.emit('item:success', model); }); 数据库中的原始文件如下所示: { _id: 1234 descriptors: Array[2], name: 'Test Name 1' } updateObj进入如下所示: […]
根据socket.io的例子: 要进行广播,只需添加一个broadcast标志来send和send方法调用。 广播意味着将消息发送给除了启动它的套接字以外的其他人。 var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { socket.broadcast.emit('user connected'); }); 我试图把这个与新的socket.io namsepacefunction,所以我得到这个: var chat = ioserver.of('/chat'); chat.on('connection', function (socket) { console.log('chat connection'); socket.on('message', function (msg) { console.log(msg); chat.send(msg); }); }); 这工作正常,聊天频道(没有其他频道)的每个人都得到消息。 但发件人也得到它。 所以我试图做到以下几点: chat.on('connection', function (socket) { console.log('chat connection'); socket.on('message', function (msg) { console.log(msg); chat.broadcast.send(msg); }); }); 并得到一个例外:'不能调用方法'发送未定义'。 好吧,所以我想,广播是一个单一的套接字的function(它感觉有点奇怪 – 如何一个套接字可以brodacast所有其他…)。 […]
我有 : 我的服务器的端口80上的Apache (v2.4),用于www.domain1.com ,启用了mod_proxy和mod_proxy_wstunnel 同一台服务器的端口3001上的node.js + socket.io 。 访问www.domain2.com (端口80)redirect到2.感谢这里描述的方法 。 我已经在Apacheconfiguration中设置了这个: <VirtualHost *:80> ServerName www.domain2.com ProxyPass / http://localhost:3001/ ProxyPassReverse / http://localhost:3001/ ProxyPass / ws://localhost:3001/ ProxyPassReverse / ws://localhost:3001/ </VirtualHost> 它适用于一切,除了websocket部分: ws://…并不像代理服务器那样传输。 当我访问www.domain2.com上的网页时,我有: Impossible to connect ws://www.domain2.com/socket.io/?EIO=3&transport=websocket&sid=n30rqg9AEqZIk5c9AABN. 问题: 如何使Apache Proxy成为WebSockets?