Tag: express

如何使用节点连接HTML POST和Mongo

我只是用Node,Express和MongoDB制作一个简单的博客应用程序。 我有一个blogPost模式,我可以用Chrome的邮差成功地GET和POST。 现在我只是想创build一个简单的HTML表单,所以我可以创build一个博客post。 但是我不确定如何将它与MongoDB连接起来。 下面是一些代码。 的index.html <form class="" action="" method="post"> <input type="text"></input> <input type="submit" value="submit"> </form> server.js var apiRouter = express.Router(); apiRouter.route('/blogPosts') .post(function(req, res) { var blogPost = new BlogPost(); blogPost.postbody = req.body.postbody; blogPost.save(function(err) { if (err) { return res.send(err); } res.json({ message: blogPost.postbody + "created"}) }); }) .get(function(req, res) { BlogPost.find(function(err, posts) { if […]

expressionjs如何将数组转换为对象

这是我的用户模型,所以你们可以了解我的数据库结构。 var userSchema = new Schema({ firstName: {type: String, required: true, trim: true}, lastName: {type: String, required: true, trim: true}, address: { street: {type: String, required: true, trim: true}, city: {type: String, required: true, trim: true}, state: {type: String, min: 2, max: 2, required: false}, zipCode: {type: String, required: true, trim: true}, }, companies:[ { […]

使用Angular routeProvider和Express路线

我正在尝试使angular的routeProviderpipe理我的应用程序的所有路线。 我在angular(客户端)的app.js文件中相应地定义了我的路由: (function(){ var app = angular.module("Crowdsourcing", ["ngRoute"]); app.config(function($routeProvider){ $routeProvider .when("/single/:street/:buildingNumber/:apartmentNumber", { templateUrl: "/views/single.html'", controller: "ListingCtrl" }) .otherwise({redirectTo:"/"}); }); }()); 然而,当在浏览器上写入一个URL(例如/ single)时,试图由我的后端express / node api来处理这个请求。 因此,它不会被find,因为后端路由是例如/ api / foo。 我如何确保Angular的routeProvider始终pipe理我的请求? 更重要的是应用程序的基本stream程是什么? 当客户端编写一个URL时,应用程序如何知道url是由express js还是由routeProvider处理?

无论如何都无法删除具有“email”和“_id”的文档

当我点击HTML文件中的“删除任务”时,我想删除一个有关_id和电子邮件的文档。 以下是删除该任务的代码:我已将电子邮件的值和_id(仅hexstring值)传递给代码: collection.findOneAndDelete({email:email,_id:taskid},function (err, result) { if (err) { console.log(err); } else { console.log("Removed!"); console.log(result); callback(result); } db.close(); }); 但是,函数不能识别已经通过的_id。 “taskid”variables的值是566836bd8db43d3d56e23a4a即只有来自_id的string值: ObjectId("566836bd8db43d3d56e23a4a") var taskid=566836bd8db43d3d56e23a4a; 我已经尝试了每个可能的taskid声明来转换它,以便该函数可以识别_id的值并匹配它: var taskid= "ObjectId("+'"'+req.param('taskid')+'"'+")"; 但是到目前为止,我无法将_id与taskid匹配。 任何修复?

用node-postgres查询postgres数据库

每次查询数据库时,是否需要使用pg.connect()? 在查看了githhub页面和wiki之后,这些例子在pg.connectcallback中显示了一个查询(注释来自于github示例,我没有写它们) //this initializes a connection pool //it will keep idle connections open for a (configurable) 30 seconds //and set a limit of 20 (also configurable) pg.connect(conString, function(err, client, done) { if(err) { return console.error('error fetching client from pool', err); } client.query('SELECT $1::int AS number', ['1'], function(err, result) { //call `done()` to release the client […]

为什么我的ejs没有redirect?

我做了一个表单。成功提交表单我想把页面redirect到谢谢你的页面(另一个ejs)视图。 不知何故,如果我使用res.redirect()它不工作,但使用res.send('谢谢你')它工作正常。 以下是我的app.js的代码: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var routes = require('./routes/index'); var users = require('./routes/users'); var thankyou = require('./routes/thankyou'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); var […]

开箱即用的节点/快递问题

我刚刚安装了Node和Express作为我正在学习的教程。 当我尝试运行我的server.js我得到这个。 怎么了? 我知道如何阅读回溯,但是我不想在Express上乱搞,因为在我看来它应该是原始的,刚刚安装完成。 example_app/node_modules/express/node_modules/serve-static/index.js:47 var opts = Object.create(options || null) ^ TypeError: Object prototype may only be an Object or null: / at Function.create (native) at Function.serveStatic [as static] (/Users/blahblah/folder/folder/folder/folder/folder/example_app/node_modules/express/node_modules/serve-static/index.js:47:21) at Object.<anonymous> (/Users/blahblah/folder/folder/folder/folder/folder/example_app/server.js:4:23) at Module._compile (module.js:435:26) at Object.Module._extensions..js (module.js:442:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:311:12) at Function.Module.runMain (module.js:467:10) at startup (node.js:136:18) at node.js:963:3 这里是server.js: […]

同时访问两个远程资源并将其输出到合并的响应中 – NodeJS

简而言之。 我需要访问两个或两个以上的远程资源提要,将其合并,并将其显示为来自我的nodejs服务的一个结果。 详细 我需要从多个提供者获取提要(根据仪表板对象中存储的内容可能会有所不同) 连接它们,做一些其他的数据操作,并在最后显示内容为一个数组。 var allFeeds = []; dashboard.providers.forEach(function(provider) { if (provider.source === 'facebook') { … fb.getFeeds(provider.data.id, function(feeds) { … Array.prototype.push.apply(allFeeds, feeds); }); } else if (provider.source === 'google') { … google.getFeeds(provider.data.id, function(feeds) { … Array.prototype.push.apply(allFeeds, feeds); }); } else if (provider.source === 'twitter') { … twitter.getFeeds(provider.data.id, function(feeds) { … Array.prototype.push.apply(allFeeds, feeds); }); } […]

如何防止用户使用express访问客户端html文件?

我正在写一个“todolist”应用程序。 在我的node.js代码中,我使用express来访问我的文件夹Client : var app = express(); app.use(express.static(__dirname + "/Client")); 在我的客户端文件夹中是以下内容: codeJS.js homepage.html Todolistpage.html style.css logo.jpg 如何防止用户在inputlocalhost:3000 / Todolistpage.html (而不从我的客户端文件夹中删除Todolistpage.html )时无法查看我的Todolistpage.html文件? (理想情况下,我尝试只允许用户login查看它)

Express js post方法错误地读取编码的数据

我有我的angularjs代码,试图发送一个post请求如下 var req = { method: 'POST', url: 'http://localhost:3300/addInventoryItem', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: { item_name : item.itemName } }; $http(req).then(function(response){…}); 我有我的nodejsexpression代码有这个 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.post("/addInventoryItem", function(req, res) { console.log(req.body); }); 我总是在我的节点中获取请求 { '{"item_name":"sweetB"}': '' } 为什么req.body将整个表单数据作为关键字? 我该如何解决这个问题? 编辑我正在使用身体分析器模块快递 谢谢你的帮助