Tag: express

mongoose模式中的数字types总是保存为string

我有这个简单的模式,与联系数字数据types。 奇怪的是,input数据(联系人)总是被保存为mongodb中的string。 我不知道背景中发生了什么,或者我错过了什么。 var mongoose = require('mongoose'); var memberSchema = new mongoose.Schema({ . . Other fields are not shown/ necessary . contact: { type: Number, required: true, } }); module.exports = mongoose.model('Member',memberSchema); 在我的路由文件中,我发送用户数据以便像这样添加到数据库中 exports.post = function(req,res,next){ if(!req.body.name || !req.body.email || !req.body.contact) return res.render('index', {error: 'Fill Name, Email and Contact'}); //req.body.contact = parseInt(req.body.contact); var member = […]

用Mongoose在Jade中显示数据

我一直在试图抓住存储在mongodb中的数据,并用一个简单的Jade模板来显示它。 我有点新鲜,在这一点上我完全迷失了方向。 这是我在/ yfirlit上渲染集合时的输出 / yfirlit的快速路由器看起来像这样 apiRouter.get('/yfirlit', function(req, res){ apiUser.find(function(err, users) { if(err) res.send(err); res.render('yfirlit', {title: 'Yfirlit', users: users}); }); }); 我简单的玉模板 html head title!= title body div #{users} p | API 当我运行testing时,整个mongodb集合显示在网站上。 我正在寻找的是能够仅显示集合中的一部分文档。 例如:我试图在Jade模板中只显示name属性,但是无法正确显示。 html head title!= title body div #{users.name} p | API 任何帮助将不胜感激,我是如此迷茫,我希望能够渲染出只有我想要的属性,而不是像图片中的整个事情。 干杯!

使用passport.jspipe理express.js中不同types用户的身份validation

我在使用Express.js 4.x中的Passport.jspipe理不同types用户的状态时遇到问题。 我在我的mongodb数据库中有3种用户集合 1. Member (has his own profile page) 2. Operator (has his own dashboard) 3. Admin (handles the backend) 我已经创build了他们单独的login/注册系统。 但只有成员似乎工作,而其他人不。 我甚至为每个用户编写了不同的login/注册策略集。 喜欢会员passport.use('注册')和passport.use('login')。 对于运营商passport.use('op-signup')和passport.use('op-login')等等。 我认为我没有使用正确的方法来处理用户,这意味着集合不需要在单个集合中分离,而是基于angular色。 对 ? 这是目前我现在使用的mongoose模型; // Member Schema var MemberSchema = new Schema({ username: String, password: String, name: { first: String, last: String }, locality: String, // and other attributes […]

在ExpressJS中如何caching工作的说明

我已经构build了一个ExpressJS服务器,对一组对象执行计算。 该数组被放置在请求的正文(POST请求)我已经注​​意到,我第一次启动服务器,并发送一个请求,我收到计算的预期结果。 现在,当我发送完全相同的请求到服务器(无需重新启动服务器),我收到了更快的响应。 我认为这是因为ExpressJS可能caching请求/响应。 我已经查看了ExpressJS文档,详细了解了如何在ExpressJS中执行caching,但找不到任何内容。 有人可以解释一下当ExpressJS服务器收到请求时caching是如何工作的,然后再收到完全相同的请求? 有没有办法完全禁用caching?

KeyStone JS账户控制器

我在NodeJS编码时了解MVC结构。 我最近开始使用Keystone JS,我非常喜欢它。 但是,他们设置他们的控制器的方式,似乎控制器只能提供一个视图的目的。 在之前的项目中,我有一个Account.js模型和一个Account.js控制器。 我想看看它会如何复制到keystone。 所以:我如何让用户在一个Keystone项目中注册/login/注销(不是在pipe理界面中,而是像一个常规站点的成员)? 我怎么做一个帐户控制器(显然没有视图渲染)?

JavaScript:向现有的json文件添加一个发布请求jsonstring

我有一个简单的快速应用程序,需要一些JSON数据的发布请求。 我想采取这些数据,并将其附加到现有的json文件(如果存在)。 键值对可能不同。 我当前的版本将对象推到一个对象数组。 理想情况下,我想添加另一个键/值对: app.post('/notes', function(req, res){ var body = ""; req.on('data', function(chunk){ body += chunk; }); req.on('end', function(){ fs.readFile(__dirname + '/data/notes.json', function(err, data){ if (err) throw err; console.log(body); var fileObj = JSON.parse(data.toString()); var postObj = JSON.parse(body); fileObj.notes.push(postObj); var returnjson = JSON.stringify(fileObj); fs.writeFile(__dirname + '/data/notes.json', returnjson, function(err){ if (err) throw err; res.send(returnjson); }); }); […]

$ injector:modulerr AngularJS,尝试了一切

我是新来angular,我正在跟随angularjs网站上的教程 我到目前为止所尝试的是: 安装angular度路由并在angular.min.js下注入脚本 在我的模块中使用ngRoute 将控制器脚本添加到我的layout.jade 使用另一个视图引擎,vash,仍然是一样的错误 包括脚本头部,尾部,在布局视图中,在index.jade中没有任何作用 我正试图解决这个错误两天了。 请帮帮我 :( 这是我的代码: layout.jade: doctype html html(ng-app="phoneCatApp") head meta(charset="utf-8") script(src='lib/angular/angular.min.js') script(src='lib/angular-route/angular-route.min.js') script(src='js/controllers.js') title= title link(rel='stylesheet', href='/stylesheets/style.css') body(ng-controller="PhoneListCtrl") block content index.jade: extends layout block content ul li(ng-repeat="phone in phones") span {{phone.name}} p {{phone.snıppet}} controller.js: var phonecatApp = angular.module('phonecatApp', ['ngRoute']); phonecatApp.controller('PhoneListCtrl', function ($scope) { $scope.phones = [ { 'name': […]

angular色http发布数据对象不被节点服务器视为对象

我使用angular度在客户端执行一个职位的用户对象的服务器。 这个用户对象只是让我在一个对象中传递所有的用户信息,用户名,密码,电子邮件,名字等。 而不必将每个作为一个单独的variables。 我在chrome的开发人员工具中看到以下POST参数。 {"username":"adfasdfasdf","password":"12123123123"} 但是,在我的服务器端js数据来作为单独的variables。 而不是具有用户名和密码的对象。 因此,console.log('userData ='+ userData)行logging用户名。 而“完成”variables包含密码。 为什么我没有得到服务器端的对象? 客户端HTML <form class="form-signin", ng-submit="register()"> <input type="text" class="form-control" placeholder="Username" ng-model="user.username"> <input type="password" class="form-control" placeholder="Password" ng-model="user.password"> </form> 客户JS var pollControllers = angular.module('pollControllers', []); pollControllers.controller('RegisterCtrl', ['$scope', '$http', '$location', function($scope, $http, $location) { // This object is filled by the form $scope.user = {}; $scope.register = function() […]

Node.JS Rethink-DB检查用户名和电子邮件是否已经存在

当我发现它不检查用户是否存在与电子邮件或用户名的东西是一个问题,我使用基于RethinkDB聊天例子的Node的login/注册系统工作。 当我正在寻求解决这个问题时,我无法找出原因,因为运行一个数据库检查将需要一个函数的callback,这使得它很难实现。 if (typeof req.user !== 'undefined') { res.redirect('/account'); return; } if (!validateEmail(req.param('email'))) { req.flash('error', 'Not a valid email address!') res.redirect('/register'); return; } // Add a check for EMAIL/USERNAME here. if (req.param('password') !== req.param('password2')) { req.flash('error', 'Passwords does not match!') res.redirect('/register'); return; } 我需要帮助,如果一个用户存在一个用户名或邮件是相同的forms,它会发送一个: if (alreadyExists) { req.flash('error', 'That username/email is already in use.') res.redirect('/register'); […]

快递节点与python的通信

我有一个快递节点应用程序,它包含一个接受用户数据的表单,馈入到mongodb中,然后运行一个pythonalgorithm,它有用户数据作为参数并返回数据到应用程序。问题是python代码没有运行,任何东西。 我正在使用child_process来运行Python代码。 请帮忙 var express = require('express'); var ws = express(); var bodyParser = require('body-parser'); var databaseUrl = "localhost:27017/ws"; var collections = ["Users"]; var mongojs = require('mongojs'); var db = mongojs(databaseUrl,collections); var spawn = require('child_process').spawn; ws.set('view engine','ejs'); ws.use(bodyParser.urlencoded({extended : false})); ws.get('/',function(req,res){ res.render('default'); }); ws.use(express.static(__dirname + '/public')); ws.get('/*',function(req,res){ res.send("no where to go..") }); ws.post('/login',function(req,res){ var user_login=req.body.login; […]