Tag: express

如何在路由参数中使用斜杠

我有一个GET REST服务,需要接受参数与/ URL =“/ term /:term / amount /:amount”其中:term可以是“para / 5MG”之类的string。 有没有办法做到这一点快递? 当我的API被使用,我不喜欢用queryparams重写它。

大多数准系统的MongoDB Express.js应用程序

什么是最简单的使用express.js的MongoDB应用程序? 我不想要任何幻想。 我基本上只需要一种方法来添加事物到数据库,并在以后查询。 什么是最简单的方法来做到这一点? 请回答这个,好像我是一个蹒跚学步的孩子。 我已经习惯了Meteor应用程序的简单工作stream程。

NodeJS / Express MVC模式中的REST数据源

在Express MVC应用程序中包含外部REST数据源的最佳做法是什么? 我们是否应该为从外部REST源检索的实体创build一个模型? 我们来看一下这个实际的例子: 我们的出发点是使用mongoose作为ODM的user.js模型。 var mongoose = require('mongoose'); var userModel = function () { //Define a simple schema for our user. var userSchema = mongoose.Schema({ name: String, twitterId: Number }); return mongoose.model('User', userSchema); }; module.exports = new userModel(); 我们的目标是显示特定用户的所有推文,所以我们创build一个控制器controller / userTweets.js,在那里为View准备数据。 我们应该如何在应用程序中包含Twitter REST API来处理这个用例呢? (比方说,我们正在使用一个nodejs客户端的twitter apis) 我更愿意为推特实体使用特定的模型,然后使用我们的模型从控制器中检索用户的推特,但我们的tweet.js模型应该如何呢? 还是应该以不同的方式devise我们的REST API集成?

来自Express / Node.js的HTTP请求

我正在尝试为一个程序设置一个快速服务,我正在写这个联系人的一个外部API,然后返回结果,以便它可以存储在我设置的Mongo中。 这似乎应该是相当简单的,但我是新的Node.js / Express,我得到一个“发送后无法设置标头”错误。 我从外部API获取我想要的数据,但是如何正确地将数据发送回我的A​​ngular app.js,以便在我的表中更新? “addSelected()”是我在app.js中调用的函数,用于启动进程。 “数据”打印完整响应的一部分,然后切断,并给我“发送后无法设置标题”错误。 从我理解这是从发送的响应,然后试图修改响应头后的事实..但我不确定的解决方法,或者如果我只是格式化一切错了,因为这是我第一次摆动MEAN堆栈一般。 我知道问题是在server.js中的“res.send(data)”行,但我不知道如何正确地格式化响应。 我的代码: server.js //server.js //setup ============================== var express = require ('express'); var request = require('request'); var app = express(); var mongoose = require('mongoose'); var https = require('https'); //config ============================ app.use(express.static(__dirname + '/public/')); console.log("running PipeHelper"); mongoose.connect('mongoedit'); var Schema = mongoose.Schema; var opSchema = new Schema({ title: String, […]

护照反序列化用户没有在帆中调用

我正在使用Sails版本0.11并尝试使用jwt身份validationconfiguration应用程序。 configuration/ passport.js var passport = require('passport'); var jwt = require('express-jwt'); module.exports = { http: { customMiddleware: function(app) { console.log('express midleware for passport'); app.use(jwt({ secret: sails.config.session.secret, credentialsRequired: false}).unless({path: ['/login']})); app.use(passport.initialize()); app.use(passport.session()); } } }; 服务/ passport.js /* other code */ passport.serializeUser(function(user, done) { console.log(user); done(null, user.id); }); passport.deserializeUser(function(id, done) { console.log(id); findById(id, function(err, user) { […]

线路以奇怪的顺序运行

我会尽量保持这个尽可能简单。 以下function似乎以非常奇怪的方式运行。 我从testing中得到的输出是1,4,3,2(带有一个空的returnList)。 这似乎表明,这些代码块内部的代码最后得到执行,正如您可能会猜到的,当我想要返回returnList时会产生一些问题。 var server = new mongo.Server('localhost', 27017); var db = new mongo.Db('tdp013', server); app.get('/getall', function (req, res) { var returnList = []; console.log("1"); db.open(function(err, client){ client.collection("messages", function(err, col){ col.find({}, function(err, cursor){ cursor.each(function(err, item){ if(item!=null){ console.log("2"); returnList.push(item); } }); console.log("3"); }); }); }); console.log("4"); console.log(returnList); res.sendStatus(200); }); 我的问题只是这个,有没有一个很好的解释(缺less一个更好的词),为什么/如何不按照书面顺序执行这些行? 或者,有没有办法返回returnList没有在迭代?

张贴JSON数据来表示应用程序越来越{}

在下面的nodejs服务器中,我尝试获取发布的json数据。 但服务器没有得到我发送的JSON数据。 followng代码是nodejs应用程序 var express = require('express') var bodyParser = require('body-parser') var app = express() // parse application/json app.use(bodyParser.json()) app.use(function (req, res, next) { console.log(req.body) // populated! res.send(req.body); }); app.listen(3000); Iam发送来自follong页面的json数据: <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function(){ $.ajax({ url: 'http://localhost:3000/', type: 'POST', contentType: 'application/json', data: JSON.stringify({number:1}), success: function (data) { console.log(data); } }); […]

如何从mongodb获取数据,并使用nodejs显示为d3图表

我正在使用这个回购 。 这个回购提供显示来自fixture_data.json文件中的内部数据的图表。 现在我想显示使用mongodb的数据。 然后我做一些改变 app.js var express = require('express'); var app = express(); var MongoClient = require('mongodb').MongoClient, mongodb = require('mongodb'), Server = require('mongodb').Server; app.engine('.html', require('ejs').__express); app.set('views', __dirname); app.set('view engine', 'html'); var mongoclient = new MongoClient(new Server("localhost", 27017)); var db = mongoclient.db('mydb'); var fixtureData = require('./fixture_data.json'); app.locals.barChartHelper = require('./bar_chart_helper'); app.get('/', function(req, res) { res.render('index', { […]

无法将用户加载到会话中

由于某种原因,testing我的身份validation ,我创build了一个用户login8 === D和密码123 ,然后passportjs说,当我尝试login时,它无法序列化该用户,但与任何常规像用户名bill@kentucky.com然后它工作正常,并login序列化用户。 我也可以提供代码作为例子,但它是否具有奇怪的字符( 如'=' )呢? 另外为什么我可以用.id而不是._id来序列化,为什么这样做呢? 我使用mongoDB,它总是生成一个_id 。 exports.postLogin = function(req, res, next) { // Do email and password validation for the server passport.authenticate('local', function(err, user, info) { if(err) return next(err); if(!user) { req.flash('errors', {msg: info.message}); console.log("ERROR BOYS"); } // Passport exposes a login() function on req (also aliased as logIn()) that […]

在Node express应用程序中安装Entrust SSL证书

我不知道如何传递给定的证书来启动https服务器。 Entrust提供了以下文件: 1.根证书。 (。文本) 2.链接根证书文件。 (。文本) 3.连锁证书。 (。文本) 4.服务器证书。 (.CRT) 我的快递应用程序目前需要 exports.key1 = { key:'./server/config/keys/server.key', // ? cert:'./server/config/keys/server.crt', // ? ca:'./server/config/keys/ca.csr' //given to entrust to generate their cert }; 我不知道如何修改密钥来匹配新的文件。