Articles of 数据库

如何在node.js中使用两个数据库连接? (MySQL的)

我想使用express和mysql模块来请求两个数据库,并在端口8000上侦听。

Sequelize,用于在belongsToMany关联的连接模型上进行过滤的问题

Sequelize文档build议您可以在选项对象上使用以下参数来过滤连接表属性上的查询: [options.include[].through.where] 我试图在下面的代码中使用这个公式,发现过滤不起作用。 模型用户和模型networking通过连接表networking附属关联,其具有附加属性(布尔)“确认”。 我似乎无法写一个查询,只返回与用户相关的确认networking。 我的代码摘录如下。 const network_affiliations = db.define('network_affiliations', { networkEmail: { type: Sequelize.STRING }, confirmed: { type: Sequelize.BOOLEAN } }, { freezeTableName: true, defaultScope: { where: { confirmed: true } }, }); // User belongs to many Networks and Networks belong to many Users (join table) User.belongsToMany(Network, { through: network_affiliations }); Network.belongsToMany(User, { […]

插入postgress直接工作,但Sequalize没有

我有一个项目在节点js与sequ​​alize连接到数据库。 我面临的问题是,当我直接在数据库中插入工作,但在sequalize它说: “未处理的拒绝SequelizeDatabaseError:el valor null para la columna«id_p»viola larestrictciónnot null” 第一张桌子是人物angular色,第二张是派对。 我有一对一的关系 这个问题不会发生: persona.create({ nombre: 'ArnoldoBazaldua', edad: '6' }) 它在这里: pasaporte.create({ pasaporte_num: '811545531', fidP2: '2' }) 模型中的id_p: Pasaporte: "idP": { type: Seq.INTEGER, field: "id_p", primaryKey: true, autoIncrement: true, allowNull: true, unique: "pasaporte_pkey", references: "public.persona", referencesKey: "id_p" }, 人物: "idP": { type: Seq.INTEGER, field: "id_p", primaryKey: […]

包括在内的使用顺序包括在内

Discussion.findAll({ where : { discussion_on : profileId, is_deleted : false , is_reply : false }, limit : 5, order : [['updated_at','DESC']], offset:5*(page-1), // order : [['updated_at','DESC']], include:[{ model : Profile, as : 'CommentBy', attributes:staticData.USER_LAYOUT, include : [{ model : TeamMember, as : "TeamSender", required : false, attributes : ['receiver', 'title'], where : sequelize.where(sequelize.col('receiver'),db.sequelize.col('discussion.comment_entity')) },{ model […]

如何检查用户是否具有数据库查询权限?

比方说,我有一个网站,汽车经销商pipe理他们的汽车库存。 每个汽车经销商都有自己的company_id ,他们的员工使用staff_id员工账户。 当工作人员在页面http://sellcarsfaster.com/inventory/car/jdksf9843他们应该看到他们公司的车ID为jdksf9843 。 如果他们复制这个url并将其发送给同事,那么其他员工应该可以查看该车。 但是,如果url发送给非职员,则该用户不能查看该车辆。 汽车应该只能通过那个汽车经销商的工作人员进入。 再进一步,我怎样才能检查各种可能的数据库查询的权限与各种关系的各种资产? 如下所示: http://sellcarsfaster.com/inventory/car/jdksf9843/tires/93sl9843 http://sellcarsfaster.com/insurance/2djlasd8 http://sellcarsfaster.com/history/event/8o4jsdfj 在这种应用程序中检查查看权限是否有最佳做法? 后端应该做些什么? 我将不得不做计算繁重的数据库查询进行身份validation吗? 我必须为每个数据库查询编写自定义身份validationfunction吗? 基于staff_id或company_id身份validation安全吗? 如果有人能指出我正确的方向,将不胜感激! PS我目前在我的后端有JSON Web Token身份validation,但是并不妨碍不同公司的员工只使用url来看别人的库存。 使用NodeJS和Postgres与AWS Cognito进行用户authentication

使用mongoose更新mongoDb中数组内部的对象

我正在MongoDB中处理MongoDB集合中的数组内部的更新对象值。 我的collections就像 { "_id": ObjectId("59b7e839200a5c00ee2d2851"), "player": "New", "playesList": [ { "_id": ObjectId("59b2a4f749fee40959e556d3"), "name": "abcd", }, { "_id": ObjectId("59b2a4f749fee40959e556d4"), "name": "pqrs", } ] } 现在我想更新ID为59b2a4f749fee40959e556d3 (我的意思是当前第一个玩家的名字是abcd),玩家的名字是59b7e839200a5c00ee2d2851 ,玩家New 。 所以我试图用这个查询更新 play.update( { '_id': '59b7e839200a5c00ee2d2851', 'player': 'new', 'playesList._id': '59b2a4f749fee40959e556d3' }, { '$set': { 'playesList.$.name': 'wxyz' } }, function(error, success) { console.log(error, success); } ) 但是在这里我得到了像null { ok: 1, […]

nw.js /电子最佳embedded式数据库的大型数据集?

我试图使电子或nw.js simpe桌面应用程序(尚未决定)。 但是我现在用数据库看到一个大问题。 我需要处理大约1-2百万条logging,所以我开始search和testing。 Sqlite看起来不错,它可以处理它,但它很难编译为新手和电子。 总是有一些错误,我现在放弃了。 所以我testing了NeDB。 快,小,好。 在nw.js上插入200k条logging后,数据库从未完全加载,并且计数操作是不可能的。 所以我从来没有机会用百万条logging进行testing。 键/值数据库很多工作,需要像MongoDb的SQL或集合。 你有什么想法为Nw.js / Electron桌面应用程序创build快速的embedded式数据库吗?

如何在nodejs命令行应用程序中存储关于分离subprocess的信息

我正在构build一个nodejs命令行应用程序来启动几个分离的subprocess。 他们中的一些人是在特定港口收听的快递员。 正如我所提到的,这些过程是分离的。 我如何存储这些分离的subprocess的信息,如pid,当用户想要的时候杀掉它们。 我已经尝试将它们写入一个通用文件,我后来读取数据。 有没有更好的办法?

angularjs nodered注册响应不起作用

我正在用html / css / angularJS,Node-red和CloudantNoSQL构build一个login/注册页面。 我在这里有一个我的代码示例: https : //plnkr.co/edit/tg25kr?p = info <!– Real user service that uses an api –> <script src="//cdn.rawgit.com/cornflourblue/angular-registration-login-example/master/app-services/user.service.js"></script> 我使用链接到真正的API代码,而不是本地存储,因为它是在这个例子中。 当您填写的电子邮件无效时,我可以通过响应statusCode(303)显示错误消息。 当电子邮件有效时,我可以将用户存储在数据库中,但不能将成功消息和操作存入数据库。 在那里我尝试了statusCode 200,201和202,但似乎没有工作。 图1 http://plnkr.co/edit/tg25kr?p=info 任何人有一个想法,如果AngularJS有什么问题,或者如果我的回应是不正确的?

使用数据库和服务器的承诺

即时通讯仍然在学习js,但即时通讯尝试在nodejs中编写一个基本的服务器。 服务器应该采取查询,然后从数据库返回一个JSON。 我试图使用承诺,但可以得到我的头。 我的服务器返回一个空的答复。 那么我做错了什么? 到目前为止我的服务器文件(简体): http.createServer(function (request, response) { if (request.method === "GET") { … var dbRes = dbFunc.getFromDB(query); response.statusCode = 200; response.setHeader('Content-Type', 'application/json'); response.end(JSON.stringify(dbRes)); } }).listen(port); 我的数据库文件到目前为止(简体): exports.readHandeler = function (query) { var promise = new Promise(function(resolve, reject) { db.collection('data').find(query).toArray(function(err, res) { if (err) { throw err; reject(-1); } resolve(res); } }); promise.then(function(result) […]