Tag: expression

TypeError:无法读取未定义的属性“长度”?

我得到“TypeError:无法读取属性的'长度'未定义? 错误,当我尝试从保存在文件中的联系人中提取特定的联系人(提供电话号码)时。 exports.query = function(number) { var json_result = JSON.parse(read_json_file()); console.log(json_result); var result = json_result.result; for (var i = 0; i < result.length; i++) { var contact = result[i]; if (contact.primarycontactnumber === number) { return contact; } } return null; }; 我打电话给上面的代码: app.get('/contacts/:number', function(request, response) { response.setHeader('content-type', 'application/json'); response.end(JSON.stringify(contacts.query(request.params.number))); }); 我的read_json_file方法的代码是: function read_json_file() { var […]

For循环在节点js中不能正常工作

我想通过for循环插入多个数据,但是这个代码只添加2或3个数据,然后继续加载,但没有发生任何事情… router.post('/addclient' , function (req , res){ var finished = false; var user = req.body.username; for(var i = 0 ; i <30 ; i++){ req.body.username = user + i ; objDB.insert("clientList" ,req.body, function(err, data){ //if(err) console.log(err); if(i>20){ finished = true; } }); } if(finished){ res.redirect('/client/client-list'); } });

使用promise将asynchronous函数的结果作为“variables”返回

我在NodeJS中asynchronous执行时遇到了问题。 特别是,我有很多用例,我希望在代码中稍后使用asynchronous请求的结果,而不想将整个事件包装在另一个缩进级别,如async.parallel 。 我知道解决这个问题的方法是使用承诺,但我正在努力实现正确的实施,而我尝试的资源并没有帮助。 我目前的问题是这样的:我需要立即得到一个MongoDB文档_id插入时。 我已经从使用MongoJS切换到使用官方的MongoDB驱动程序,因为我知道MongoJS不支持承诺。 任何人都可以通过提供一个基本的例子来说明如何使用promise来返回这个值吗? 再次感谢。

为什么需要明确指定端口80使用HTTPS访问我的网站?

我按照说明使我的nodejs服务器监听端口80。 https://www.digitalocean.com/community/tutorials/how-to-use-pm2-to-setup-a-node-js-production-environment-on-an-ubuntu-vps 我的服务器还没有域名。 问题是,如果我的服务器使用HTTPS ,我不能访问我的服务器没有指定端口80像这样https://xx.xxx.xxx.xx:80 。 但是,使用HTTP ,没有指定端口,我仍然可以使用IP访问我的网站。 我在这里做错了什么?

sequelize.js查询连接两个表与连接表上的where子句

我正在尝试使用sequelizejs从博客表中获取最新的博客文章,其中包括所有已批准的相应注释(来自单独的注释表)。 评论数据库有一个字段“blog_id”,它具有相应的博客ID。 如果我这样做: models.blogs.hasMany(models.comments, {foreignKey:'blog_id'}) models.comments.belongsTo(models.blogs, {foreignKey:'blog_id'}) models.blogs.findAll({where:{id:id},order:"id DESC", limit:1, include: [{model: models.comments, where:{approved:true}}]}).then(function(blogs){ res.json(blog:blogs[0]) }); 结果是最近的博客文章有一个已被批准的评论,而不是最近的博客文章和任何已被批准的评论。 我的工作是有两个查询: models.blogs.findAll({order:[["id","DESC"]],limit:1}).then(function(blogs){ var blog = blogs[0]; models.comments.findAll({where:{"blog_id":blog.id,"approved": true}}).then(function(comments){ res.json({ blog:blog, comments:comments }) }) }); 这是很好,function,但不优雅。 只是想知道什么是一个查询解决scheme。

Sequelize TypeError关联不是一个函数

我创build了一个一对多的关系,并在将关联模型传递给我的数据库对象时遇到了一个奇怪的错误。 我不明白错误的来源,因为方法跟在文档之后。 我是否需要在目标模型中编写参考? 错误: db.DiscoverySource.associate(db); ^ TypeError: db.DiscoverySource.associate is not a function at Object.<anonymous> (/Users/user/Desktop/Projects/node/app/app/models/db-index.js:33:20) 源模型(一)organization.js: module.exports = function(sequelize, DataTypes) { var Organization = sequelize.define('organization', { organizationId: { type: DataTypes.INTEGER, field: 'organization_id', autoIncrement: true, primaryKey: true }, organizationName: { type: DataTypes.STRING, field: 'organization_name' }, admin: DataTypes.STRING },{ freezeTableName: true, classMethods: { associate: function(db) { Organization.belongsToMany(db.User, […]

正则expression式匹配缓慢

我试图让使用ajax上传文件2MB与nodejs应用程序, 客户端我使用FileReader API来保存base64,然后通过FormData 。 我的问题是服务器端代码像下面这么慢,我把console.log试图find哪个部分,当上传更大的文件,似乎卡在正则expression式match .. 任何build议如何改善? https://regex101.com/r/qS2lB2/1 … console.log(image.data_base64); // 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvd … var matches = image.data_base64.match(/^data:.+\/(.+);base64,(.*)$/); console.log('done'); // slow var fileExtension = matches[1]; var base64 = matches[2]; var buffer = new Buffer(base64, 'base64'); … yield Promise.resolve( filesystem().writeFile(temporaryFilePath, buffer) );

导入目录的索引文件无法正常工作

application.js文件的下列内容报告“home”被导入的是未定义的。 import {home} from "./routes/index" console.log(JSON.stringify(home, null, 4)) index.js的内容如下: export * from "./home.js" home.js的内容如下: export const type = "GET" export const route = "/" export const middleware = []; export const action = function(req, res) { res.send("Testing custom routes"); } 目录结构的图片如下所示:

客户端代码在节点js

我是Nodejs的新手,并试图使用套接字设置服务器客户端连接。 以下是我的代码。 服务器工作正常,但客户端没有连接。 请谁能帮我弄清楚这个错误。 非常感谢jessi Server.js var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); io.on('connection', function(socket){ console.log('a user connected'); socket.on('disconnect', function(){ console.log('user disconnected'); }); }); io.on('data', function(data) { console.log('DATA from client is: ' + data); // Close the client socket completely }); server.listen(4200); console.log('Monitoring server listening on […]

Express服务器中语言子域的最佳实践?

所以我build立了一个Node / Express服务器,并且我们正在从子目录转换到子域进行本地化,例如: es.example.com // old way www.example.com/es // new way 这样做是出于各种原因,但主要是为了方便JWTlogin状态在国际化内容中的保存。 声明路线时,最好的做法是什么? 如果我有一个简单的build立这样的路线: app.use('/search') 然后,当我尝试点击路线时,例如www.example.com/es/search ,我将被redirect到www.example.com/search将被剥离。 但是,这可以像这样修复: app.use('*/search') 我相信这肯定会有一些负面影响呢? 人们通常如何通过Express在路线上允许前缀?