Tag: 表示

Mongoose子文档插入到另一个集合中,同时在父模式中保持关系

我正在尝试做下面的事情,想知道是否可以用Mongoose: 保留一个子文档Id的数组,以方便使用mongoose的填充方法。 将子文档数据存储在另一个集合中 例: var ParentSchema = new Schema({ children : [{ type: Schema.ObjectId, ref: 'Child' }] }); mongoose.model('Parent', ParentSchema); var ChildSchema = new Schema({ name : { type: String} }); mongoose.model('Child', ChildSchema); 这就是我想让我的数据库看起来像: Parents { children:[{ObjectId("52856528cb28bdc18acac23a")},{ObjectId("52856528cb28bdc18acac23b")}] } Childs [{ _id: ObjectId("52856528cb28bdc18acac23a") name: "John" }, { _id: ObjectId("52856528cb28bdc18acac23b"), name: "bob" }] 我想轻松地通过执行以下操作来调用填充: Parents.find({}).populate(Parents.children).exec(); 填充方法是否能够以这种方式连接一组数据? 此外,我将如何将Id的集合存储在父模式中,并将子文档存储在子模式中(并且可以稍后使用填充方法执行此操作)? […]

在Express或Connect中添加一堆属性以请求是不好的做法?

例如,假设您使用winston进行日志logging,而不是让每个中间件都需要日志logging器,则可能有一个(上游)中间件将其添加到request对象中,以便其他中间件可以执行: request.logger.log(…) 这是好还是不好的做法?

Node.js + Express.js +端口443上的Socket.io(HTTPS TLS / SSL)

我有一个Node.js,Express.js和Socket.io应用程序,使用除443之外的任何端口都可以正常运行。服务器仅用于通过HTTPS端口443运行,同样,websocket也应该被encryption。 CODE THAT WORKS var fs = require('fs'); var https = require('https'); var express = require('express'); var socket = require('socket.io'); var sslOptions = { key: fs.readFileSync(__dirname + '/../ssl/server.key, cert: fs.readFileSync(__dirname + '/../ssl/server.pem, ciphers: 'ECDHE-RSA-AES256-SHA:AES256-SHA:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM', honorCipherOrder: true }; var app = express(); var server = https.createServer(sslOptions, app); var io = socket.listen(server, { "log level" : 3, […]

如何安装一个Sails.js应用程序作为快递中间件

我想在一个更大的基于快件的应用程序中使用Sails。 我和你一起工作的大多数node.js MVC框架都可以作为快递中间件装载。 Sails可能吗? 我想做一些事情: var express = require('express'), app = express(); var mySailsApp = require('./mysailsapp'); app.use(mySailsApp);

Javascript运行“乱序”

我正在尝试做一个简单的用户注册,但无法正确检查创build重复的用户运行顺序,我打算: 路线: app.post('/user/new', user.create); user.create: exports.create = function(req, res) { var exists = DoesUserExist(req, res); console.log(exists); if (exists === true){ console.log("exists"); res.redirect('/user/new'); } else{ //good to create user since it does not exist yet CreateUser(req, res); console.log("does not"); res.redirect('/user/new'); } }; 帮手funcs: function DoesUserExist(req, res){ var post = req.body; mongo.connect("mongodb://localhost:27017/db", function(err, db){ if(err) { return […]

在Stylus和Node.js和Express中使用本地图像是否可行?

这里的情况是:我想在我的Web应用程序中使用图像,在Stylus文件( style.styl )中使用下面的代码来设置图像: .background background: url(http://path/to/image) 但是,将图像保存到我的本地应用程序目录是可行的,并从目录内使用它? 我的目录结构如下所示: app.js package.json public css style.styl js images image.png views routes 我想从style.styl文件中使用图像,然后在我的应用程序中有人访问特定的路由时,在我的应用程序中parsing和使用该图像。 但是,下面的代码根本不起作用: .background background: url(../images/image.png) 另外下面的代码不起作用 .background background: url(./public/images/image.png) 那么,我怎样才能在我的应用程序从本地目录中使用图像? 我得到了这个页面,但是我根本无法理解所有的东西。 特别是,我应该在哪里写代码在页面上? 它看起来像没有被认为是写在style.styl ,这只是一个手写笔文件,据我所知,而不是一个JavaScript文件。 另外,我应该在callback函数中写什么? 当我在app.js写上面的代码的时候,我得到了一个错误: str is not defined ,因为stylus(str)意味着我定义了一个str对象,我不这样做。 所以我不确定它是怎么做的… 我在./public/css/目录中使用我的Stylus文件,并写入app.use(require("stylus").middleware(path.join(__dirname, "public"))); 在我的app.js. 另外,我使用Express 3.5.1。

Nodejs – 是否有任何模块存在类似于nodejs中的请求模块?

我想从节点服务器进行restAPI调用。 我目前正在请求模块。 你会build议任何其他最好的模块REST调用(get / post)生产实践在nodejs? 问候,拉姆

Node.js Socket.io和Express:不断向setInterval方法以外的客户端发送数据

我一直在摆弄socket.io,并expression。 而且,我在这个项目中使用mongoose。 我有这个代码: 服务器 io.on('connection', function (socket) { setInterval(function(){ Data.find({}, {name:1, _id:0}, {sort : { _id : -1 }}, function (err, data) { if (err) { console.log(err); } else { socket.emit('data', {datas: data}); }; }) }, 500); }); 客户 var socket = io.connect(); socket.on('data', function (data) { if (data) { $('#names').html(''); $.each(data.datas, function (index, value) […]

Express – 处理json响应

我有两个节点服务器(A + B),都使用Expressjs。 从一个我使用请求( https://github.com/mikeal/request )做一个GET请求到另一个: //A server app.get('/:id', function(req, res) { request('http://localhost:8080/api/' + req.params.id, function (error, response, body) { console.log(body); }) }); 另一个是: //B server app.get('/api/:id', function(req, res) { res.json(200, {url: "http://www.google.co.uk"}); }); 正如你所看到的,A正在向B发出请求,而B则返回一个JSON结果。 然而,我不知道如何处理console.log(body) : console.log(body)打印完整的JSON,但我怎样才能访问从B发送的url? 我已经尝试body.url但没有运气

Express JS中dynamic路由的对象数组

我有一个对象数组来定义我的路线,当我迭代对象,我/路线没有问题,但任何随后的路线返回404 。 为了排除故障,它们都指向相同的索引路由。 代码如下: /** * Module dependencies. */ var express = require('express') , routes = require('./routes') , http = require('http') , path = require('path'); var app = express(); var pagesArray = [ { name: '/', route: routes.index }, { name: 'about', route: routes.index }, { name: 'contact', route: routes.index }, { name: 'commentary', route: […]