从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 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

使用Autofac IOC组织多项目应用程序

较复杂的应用程序都是由多个项目组织成的,项目可以划分成程序集(Assemblies)和宿主(Hosts),也就是应用程序的入口。 Assemblies 通常是常...

24150
来自专栏葡萄城控件技术团队

LeadTools Android 入门教学——运行第一个Android Demo

LeadTools 有很多Windows平台下的Demo,非常全面,但是目前开发手机应用的趋势也越来越明显,LeadTools也给大家提供了10个Android...

21950
来自专栏王磊的博客

windows自定义快速启动(运行)命令

自定义运行(windows键+R)里面命令,启动设置的程序,如图: ? 它的设置方法有两种: 第一种设置方法: 第1步:在任意地方创建一个文件夹(建议在D盘根目...

377110
来自专栏前端vue

5.登录验证,重定向及访问限制

这里登陆接口的服务端逻辑是在easy-mock中写的 账号:rty 密码:123,只是做一个简单的验证,可以直接调我的接口,也可以自己写验证密码的模拟逻辑,下...

38920
来自专栏IMWeb前端团队

meteor 简介

本文作者:IMWeb helondeng 原文出处:IMWeb社区 未经同意,禁止转载 What “Meteor gives you a radica...

23790
来自专栏wOw的Android小站

[Sublime-Text] Linux下用Sublime-Text3编译输出Java文件

因为现在在借着经典的书籍巩固一些基础知识,所以会经常跑一些简单的程序,可又不想开庞大的IDE。所以就想试着用Sublime-Text来编译程序,哦,当然如果习惯...

11210
来自专栏Windows Community

New Windows 10 SDK - Multi-instance UWP apps

概述 前面一篇 About Windows 10 SDK Preview Build 17110 中,我们简单介绍了 Multi-instance UWP Ap...

34390
来自专栏跟着阿笨一起玩NET

通过SvcUtil.exe生成客户端代码和配置

WCF服务调用通过两种常用的方式:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式,一种是通过ChannelFactory直接创建服务代理对象...

10320
来自专栏Porschev[钟慰]的专栏

Nodejs学习笔记(一)--- 简介及安装Node.js开发环境

学习资料   1.深入浅出Node.js http://www.infoq.com/cn/minibooks/nodejs   2.Node.js开发指南 简介...

37560
来自专栏恰童鞋骚年

.NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控

  App.Metrics是一款开源的支持.NET Core的监控插件,它还可以支持跑在.NET Framework上的应用程序(版本 >= 4.5.2)。官方...

23810

扫码关注云+社区

领取腾讯云代金券