Tag: 表示

NodeJS – Mongoose,subdoc对象没有方法.id()或.create()

我试图插入使用.create()子文档,并使用.id()查询所述文档。 我一直在这里遵循指导 我得到的错误:对象没有方法'id()'或'create()' 以下是我的代码: /db/schemas/AnnouncementsSchema.js var mongoose = require('mongoose'); var Schema = mongoose.Schema; var postSchema = new Schema({ title: String, dateCreated: String, dateEdited: { type: Date, default: Date.now() }, summary: String, body: String }); var announcementsSchema= new Schema({ categoryName: String, posts: [postSchema] }); announcementsSchema.methods.Update = function (callback) { console.log('Updating object: ' + this); this.save(function (err, […]

nodejs expressjs angularjs路由

我想从一个快速函数redirect到一个angularjs局部加载该视图的控制器。 app.js – > nodejs function(req, res, next) { console.log(req.session); if(req.session.user/* && req.session.user.role === role*/) next(); else res.redirect("/#/login"); } app.js – > angularjs app.config(function($routeProvider){ $routeProvider .when("/create", { templateUrl : "/users/usersCreate", controller : "users" }) .when("/delete", { templateUrl : "/users/usersDelete", controller : "users" }) .when("/login", { templateUrl : "/sessions/sessionsCreate", controller : "sessionsCtr" }) .otherwise({ reditrectTo : […]

使用socket.io和sails.js发送特定于会话的消息

我试图实现一个私人聊天function,使用sails.js框架,当我试图发送消息给特定用户时,我有一些麻烦。 目前,我通过使用socket.io的.socket(socket.id).emit(event,message)将消息发送到特定的socket.id来实现私人通信,但是这种方法的问题是每次用户打开一个新的选项卡,为新的连接生成一个新的socket.id。 而我的问题是:sails.js是否有助于发送事件(使用socket.io)到一个特定的用户会话,而不是一堆socket ID的方式吗? 这些技术有可能吗? 所以我只能发送一次该事件,并确保在聊天应用程序当前打开的所有选项卡中都收到该事件。 提前致谢。

使用db.open()内的导出callback – mongoose / express

我有一个user.js文件: var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/dbName'); var User = mongoose.model('user', { username: String, password: String }); exports.User = User; 我正在访问其他文件中暴露的Uservariables。 不过,我根据文档更改了这个文件: var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/dbName'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function callback () { console.log('connection open'); var Schema = mongoose.Schema; var User = mongoose.model('user', { username: String, password: String }); […]

NodeJS应用程序在使用Upstart启动时不会加载静态文件

我有一个NodeJS应用程序,我想从Upstart开始。 到目前为止,这个过程的工作,Upstart启动应用程序,但是当我加载页面,CSS不加载。 奇怪的是,如果我使用#node myapp.js启动应用程序,它将启动并正确加载文件。 如果有的话,我无法做出让这个问题成为可能的区别。 任何帮助,将不胜感激。 这是我设置应用程序的方式: var express = require('express'), config = require('getconfig'), path = require('path'), expressValidator = require('express-validator'), crypto = require('crypto'), app = express(); app.configure('development', function () { app.use(express.logger('dev')); }); app.configure(function () { app.use(require('less-middleware')({ src: path.join(__dirname, 'public') })); app.use(express.static('public')); require('./bootstraps/handlebars')(app); app.use(express.favicon()); app.use(express.limit('5mb')); app.use(express.urlencoded({limit: '5mb'})); app.use(express.multipart({limit: '5mb'})); app.use(express.json({limit: '5mb'})); app.use(express.cookieParser(config.http.cookieSecret)); app.use(expressValidator()); app.use(express.methodOverride()); require('./bootstraps/session')(app); app.use(function(req,resp,next){ […]

setheader给出错误:“抛出新的错误('发送后不能设置标题');”

在检查用户是否已经投票时得到这个错误。 我build议setheader事情是负责任的。 码 index : function(req, res, next){ if(req.method == "POST"){ var aa = Users.findOneByEmail(req.param('email'), function(err, data, next){ if(err) res.serverError(err); console.log(data); if(data){ res.redirect('/users'); return; } }); var data = { remoteip: req.ip, challenge: req.body.recaptcha_challenge_field, response: req.body.recaptcha_response_field }; // console.log(data); var recaptcha = new Recaptcha(PUBLIC_KEY, PRIVATE_KEY, data); recaptcha.verify(function(success, error_code) { if(!success){ return res.serverError(error_code) } else { […]

基于Express / Mongoose REST API的GET参数进行路由

我正在试图在使用Mongo + ExpressdeviseREST API时如何处理更复杂的查询。 不幸的是,我所能find的所有例子都太简单了。 这个问题的目的是一个简单的例子。 我有团体,我有用户。 在每个小组内,有成员和1个领导。 为了简单起见,我将排除中间件和后/放/删除function。 路线看起来像这样: app.get('/groups', groups.all); app.get('/groups/:groupId', groups.show); app.param('groupId', groups.group); 控制器看起来像这样: /** * Module dependencies. */ var mongoose = require('mongoose'), Group = mongoose.model('Group'), _ = require('lodash'); /** * Find group by id */ exports.group = function(req, res, next, id) { Group.load(id, function(err, group) { if (err) return next(err); if […]

如何获取express.js中的所有参数(post / get / etc)

有没有办法让一次使用express.js发送的所有参数? 我知道如何分别了解GET / POST,但有没有办法一次搞定所有东西? 到目前为止,我还没有发现任何有关这方面的信息,尤其是对它进行debugging。 当然, req.param(key)作用,但我想有一个所有参数的列表,不必检索它们,只是看到它们。 编辑 :添加路线信息: consoleDev('Url: ' + req.method + ' ' + req.baseUrl + req._parsedUrl.href, 'debug'); consoleDev('Options: ' + JSON.stringify(options), 'debug'); consoleDev('Params: ' + Object.keys(req.params), 'debug'); consoleDev('Params: ' + (req.param('test')), 'debug'); 安慰: debug: Url: GET http://localhost:5000/?test=5000 debug: Options: {"controllerName":"home","methodName":"index"} debug: Params: debug: Params: 5000

javascript(node.js)将url哈希转换为带有参数的url

我有一个很大的静态结果,我正在尝试以下更改: 将原始域replace为另一个域。 将url的散列值转换为带有参数的url(仅限特定域名(website.com))。 这是我最初的3个链接和2个不同域名的静态结果示例: var json = {This is the static result with many links like this <a href=\"http://website.com/932427/post/something-else/\" target=\"_blank\"> and this is other link obviusly with another post id <a href=\"http://website.com/456543/post/another-something-else/\" target=\"_blank\">, this is another reference from another domain <a href=\"http://onother-website.com/23423/post/please-ingnore-this-domain/\" target=\"_blank\"> } 所以,我需要改变的原始url是两个,根据上面的例子: http://website.com/932427/post/something-else/ http://website.com/456542/post/another-something-else/ 我想用这种格式来改变这个链接: http://other_domain.com/id?=932427/ http://other_domain.com/id?=456543/ 最后的结果应该是这样的静态结果。 顺便说一下,我使用node.js 提前致谢

在NodeJS中返回值时出现循环结构错误

我需要一些帮助,在Node + Express中设置我的rest路线。 我的问题如下: controller.js: module.exports = { findAll: function(req, res) { var users = User.findAll(); res.json(users); } }; user.js的: module.exports = { findAll: function(req, res) { userModel.user.find(function(err, user) { if (!err) { console.log(user); } else { console.log(err); } }); } }; 这console.logs我的用户按预期,但如果我改变console.log位返回: findAll: function(req, res) { return userModel.user.find(function(err, user) { if (!err) { return […]