Articles of express

findOrCreate()和upsert()之间的区别

我正在阅读文档 ,它提到了两种做upsert的方法: findOrCreate()或upsert() 。 我阅读了描述,但是我还不清楚它们有什么不同。 upsert()继续说: Note that the unique index must be defined in your sequelize model and not just in the table. Otherwise you may experience a unique constraint violation, because sequelize fails to identify the row that should be updated. 这是否意味着upsert()明确要求我在模型中定义一个id UNIQUE主字段? 即: var Something = sequelize.define("Something", { id: { type: DataTypes.INTEGER, […]

MongoError:驱动程序与此服务器版本不兼容

我刚刚安装了Mongo,Node等,当我尝试通过我的nodejs服务器更新数据库时,出现此错误: MongoError: driver is incompatible with this server version 这里是我有的版本: 节点 v0.12.2(最新版本是v0.12.3) Express v4.12.4(最新版本是v4.12.4) Mongodb v3.0.3(最新版本是v3.0.3) Mongodb Node.js驱动程序 v2.0.33(最新版本是v2.0.33) Mongoskin v1.3.23(最新版本是v1.3.23) 我有最新版本的一切,我已经search了节点的mongodb驱动程序的git来找出哪个版本的mongodb支持,但我找不到什么:( 我还读了其他SO问题,它说要更新您的mongodb,但我的是最新的版本! 任何帮助?

端口3000在Express应用程序中的意义

我注意到Express.js应用程序的几乎所有示例都使用端口3000作为HTTP服务器的默认侦听端口。 这是因为它是一个很less使用的端口,或者是否有任何其他原因的端口号? 如果我想在本地机器上并排运行多个应用程序,使用像3000,3001,3002等端口是不是很好? (我理解,理想情况下,你会让系统分配端口,这只是一个简单的问题,为什么3000似乎是一个传统的任务。)

MongoDB驱动程序未被识别

我正在构build一个使用MongoDB作为后端的快速应用程序,但是当我在应用程序的其他部分向数据库发出请求时,它不被识别。 这是我有: APP.JS(使用Paul的答案): var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var cookieParser = require('cookie-parser'); var passport = require('passport'); var mongo = require('mongodb').MongoClient; var assert = require('assert'); // make mongodb available to the application app.use((req, res, next) => { mongo.connect('mongodb://localhost:27017/formulas', (e, db) => { if (e) return next(e); req.db = db; […]

阅读Node.JS中的AJAX postvariables(使用Express)

我试图得到我的节点应用程序中发送的ajax文章的值。 使用这篇文章作为指导,我到目前为止: 在节点中: var express = require('express'); var app = express(); var db = require('./db'); app.get('/sender', function(req, res) { res.sendfile('public/send.html'); }); app.post('/send_save', function(req, res) { console.log(req.body.id) console.log(req.body.title); console.log(req.body.content); res.contentType('json'); res.send({ some: JSON.stringify({response:'json'}) }); }); app.listen(3000); 在AJAX方面: $('#submit').click(function() { alert('clicked') console.log($('#guid').val()) console.log($('#page_title').val()) console.log($('#page-content').val()) $.ajax({ url: "/send_save", type: "POST", dataType: "json", data: { id: $('#guid').val(), title: $('#page_title').val(), […]

使用Facebook和Passportjs进行身份validation:什么是accessToken,注册后应该存储什么?

我正在使用Passport来注册/使用Facebook进行身份validation。 oAuth成功的时候,我回来了: accessToken refreshToken profile 现在…当用户成功注册使用Facebook,我存储accessToken和profile信息。 当有人想要login,并再次通过oauth动作,我的应用程序再次获取accessToken和profile 。 麻烦的是, accessToken是不同的。 我真的希望accessToken是第一次validation后是相同的… 在这一点上,我连接我自己的本地用户与configuration文件中的Facebook的id字段。 但是…我怎么实际上使用accessToken? 保持它是否有意义? 如果是这样,为什么我会保留它? 我实际上期望accessToken是相同的,并使用它来匹配成功的login。 我显然不能这样做…所以我很困惑!

TypeError:无法读取未定义的属性“_id”

你好,Node + mongodb的大师, 我得到错误“types错误:无法读取属性未定义的_id”在一个简单的发布请求将文档保存到coolection书,我的有效载荷看起来像这样 { "name": "practical view", "author": "DN", "location": "room 50" } 而我只是在我的路线中快递db.books.save()。 由于我没有通过身份证,这应该是理想的工作,但不是在这种情况下。 以下是我在节点服务器上得到的完整错误转储: C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\mongo_client.js:411 throw err ^ TypeError: Cannot read property '_id' of undefined at Collection.save (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\collection.js:393:15) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\index.js:203:65 at apply (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:16:28) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:20:25 at Db.collection (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\db.js:488:44) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\index.js:268:7 at apply (C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:16:28) at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\thunky\index.js:20:25 at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\index.js:300:4 at C:\NodeProjects\ExpressTutorial\Library\node_modules\mongojs\node_modules\mongodb\lib\mongodb\mongo_client.js:408:11 31 Aug 00:14:30 […]

如何将项目Expressjs与jQuery-File-Upload整合?

jQuery-File-Upload与Nodejs很好地协作,但我发现很难与Expressjs集成。 有什么build议么? 感谢您的关注。 PD: https : //github.com/blueimp/jQuery-File-Upload

无法在全球安装快递

我试图在全球安装express,但每次运行命令行'npm install -g express'时,我收到以下错误消息: npm http GET https://registry.npmjs.org/express npm http 200 https://registry.npmjs.org/express npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/express' npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/express'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/usr/local/lib/node_modules/express', npm ERR! fstream_type: 'Directory', npm ERR! fstream_path: '/usr/local/lib/node_modules/express', npm ERR! fstream_class: 'DirWriter', npm ERR! fstream_stack: npm ERR! [ […]

在ExpressJS上使用mongoose运行“node_acl”

我在ExpressJS上构build了一个应用程序(类似于博客)。 我使用mongoose与MongoDB合作。 当我不得不在不同的ACL模块之间进行select时,我决定采用node_acl 。 令我困惑的是它使用的是mongodb模块,而不是mongoose。 根据ACL GitHub上的文档,必须这样使用: // Or Using the mongodb backend acl = new acl(new acl.mongodbBackend(dbInstance, prefix)); 如果我正在使用mongoose,那将会是一个db的实例? 我使用类似于:Account = mongoose.model('Account',new Schema({…}));