专栏首页技术翻译从Node.js查询PostgreSQL数据

从Node.js查询PostgreSQL数据

从Node.js查询PostgreSQL数据

API服务器公开允许连接数据的Web服务。使用CData API服务器的OData端点对Node.js中的PostgreSQL数据执行CRUD查询。

CData API服务器与PostgreSQL的ADO.NET Provider配对时,将PostgreSQL数据(或来自120多个其他ADO.NET提供程序中的任何一个的数据)公开为OData端点,可以使用简单的HTTP请求从Node.js查询。本文介绍如何使用API Server在Node.js中请求JSON格式的PostgreSQL数据。

设置API服务器

按照以下步骤开始生成安全的PostgreSQL OData服务:

部署

API服务器在您自己的服务器上运行。在Windows上,您可以使用独立服务器或IIS进行部署。在Java servlet容器上,输入API Server WAR文件。有关更多信息和方法,请参阅帮助文档。

连接到PostgreSQL

部署API服务器和PostgreSQLADO.NET提供程序后,通过单击设置 - >连接并在API服务器管理控制台中添加新连接,提供连接到PostgreSQL所需的身份验证值和其他连接属性。

要连接到PostgreSQL,请设置服务器,端口(默认端口为5432)和数据库连接属性,并设置要用于向服务器进行身份验证的用户和密码。如果未指定Database属性,则数据提供程序将连接到用户的默认数据库。

然后,您可以通过单击“设置” - >“资源”选择要允许API服务器访问的PostgreSQL实体。

授权API服务器用户

确定要生成的OData服务后,通过单击“设置” - >“用户”来授权用户。API Server使用基于authtoken的身份验证,并支持主要的身份验证方案。也可以根据IP地址限制访问; 默认情况下,除本地计算机外的所有IP地址都受限制。您可以使用SSL进行身份验证以及加密连接。

从Node.js消耗PostgreSQL OData源

OData源很容易在Node.js中工作。您可以使用Node.js中的HTTP客户端从API服务器的OData端点请求JSON格式的数据。发出请求后,您可以构造响应的主体并调用 JSON.parse() 函数将其解析为记录。

下面的代码将对Orders数据进行经过身份验证的请求。下面的示例网址应用了一个简单的过滤器,用于在ShipCountry列中搜索值为USA的记录。

var http = require('http');
http.get({
protocol: "http:",
hostname: "MyServer.com",
port: MyPort,
path: "/api.rsc/Orders?$filter=" + encodeURIComponent("ShipCountry eq 'USA'"),
auth: 'MyUser:MyAuthtoken'
},
function(res) {
var body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
console.log(body);
var jsonData = JSON.parse(body);
});
}).on('error', function(e) {
console.log("Error: ", e);
});

原文标题《Query PostgreSQL Data From Node.js》

作者:Jerod Johnson

译者:February

不代表云加社区观点,更多详情请查看原文链接

原文链接:https://dzone.com/articles/query-postgresql-data-from-nodejs

原文作者:Jerod Johnson

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用于在所有级别上构建微服务的29个顶级工具

    关于微服务有很多很棒的文章。对于那些一直没有接受微服务的人,或者新手,本文是为了提供顶级开源工具的整合。微服务架构,或仅微服务,是用于开发软件系统的高度可扩展的...

    February
  • 无服务器计算简介:第1部分

    最近大肆宣传的技术趋势是无服务器计算。有些人可能会认为(顾名思义)无服务器计算中没有服务器。有些服务器运行我们的代码,但这些服务器在基础架构中不可见,并且不需要...

    February
  • 微服务入门:一个示例应用程序

    在我之前关于微服务和用户界面的文章中,我讨论了在微服务架构中开发基于Vaadin的应用程序的策略。在本文中,我将向您展示使用Spring Boot和Vaadin...

    February
  • 简洁平凡的PC清理工具——CCleaner

    课代表
  • Zookeeper动态扩容详细步骤

    gaofc
  • 万字长文给“DNS”带绿帽

    我们先想想一个问题,我们打开一个微信或者一个XX音乐,一个网页,到底会开几个进程。

    我是程序员小贱
  • 【干货】CNN 感受野首次可视化:深入解读及计算指南

    【新智元导读】作为目前的研究和应用热点,图形识别使用 CNN 模型架构。感受野则是 CNN 中最为重要的概念之一,但此前还没有任何关于如何计算和可视化 CNN ...

    新智元
  • SQL注入问题

    sql注入是一种通过在输入中注入sql语句,来达到攻击数据库的效果。今天使用Java语言,来分析一下sql注入的相关问题。

    ZackSock
  • Vue3 + TypeScript 实现递归菜单组件

    小伙伴们好久不见,最近刚入职新公司,需求排的很满,平常是实在没时间写文章了,更新频率会变得比较慢。

    ssh1995
  • YYAsyncLayer 源码剖析:异步绘制

    性能优化一直是 iOS 开发中的一个重头戏,其中界面流畅度的优化是至关重要的,因为它直接关系到用户体验。从最熟悉和简单的 UIKit 框架到 CoreAnima...

    波儿菜

扫码关注云+社区

领取腾讯云代金券