Tag: rest

与mongo和节点js不同

我正在尝试使用节点js实现的其余服务获取logging来填充jquery的自动完成。 这是方法 db.collection('publication', function(err, collection) { collection.distinct('title',{'$or':[{type:'an'},{type:'pub'}]}).toArray(function(err, items) { res.jsonp(items); }); }); }; 在mongo中的查询工作 – > db.publication.distinct('title',{'$or':[{type:'an'},{type:'pub'}]}) 返回[“Product”,“Event”],但是当我使用find时,结果是不同的,find将是 – > { "_id" : ObjectId("51fbb2124e49d03810000000"), "title" : "Anuncio" } { "_id" : ObjectId("51fbb2ae4e49d03810000001"), "title" : "Evento" } 自动完成工作的第二种方式,但与第一种不 节点中显示的错误是:对象不是一个函数。 最后,我需要的是返回一个JSON的logging来填充自动完成它是这样填充: $('#search').autocomplete({ source: function(req, res) { $.ajax({ url: "http://www.example.com:3000/autocomplete/" + req.term , dataType: "jsonp", type: "GET", data: […]

等待数据在数据库中出现/更改

我正在编写REST API,它必须提供用户之间的实时通信。 可以说我有db.orders集合。 我有API GET /order/{id} 。 这个API应该等一下order文件的变化。 例如,只有当order.status ready时,它才会返回一些数据。 我知道如何做长轮询,但我不知道如何检查数据在数据库中出现/更改。 如果有一个应用程序实例很容易 – 那么我可以在内存中执行此操作,如下所示: var queue = [] // GET /order/{id} function(req,res,next) { var data = getDataFromDb(); if(data && data.status == 'ready') { res.send(data); return; } queue.push({id: req.params.id, req: req, res: res, next: next}); } // POST /order/{id} function(req,res,next) { req.params.data.status = 'ready' saveToDb(req.params.data); var […]

PassportJS – GET请求中的login凭据?

我正在开发一个REST风格的Web应用程序。 我希望通过POST请求(请求正文中的用户名和密码)进行用户注册 ,并通过GET请求(查询中的用户名和密码)进行用户注册 。 PassportJS文档似乎表明,Passport希望凭证位于请求主体(它parsing的)中。 我不太明白它如何处理GET请求,因为他们没有机构(通常,如果我理解正确的话)。 我将如何做这项工作? 这是一个坏主意吗? 如果是的话,有没有一个RESTful的select?

KrakenJS:通过控制器执行POST请求以错误结束

我正在使用KrakenJS来构build一个Web应用程序。 作为MVC,我正在通过控制器实现一个REST服务,下面是一个示例代码: //users can get data app.get('myRoute', function (req, res) { readData(); }); //users can send data app.post('myRoute', function (req, res) { writeData(); }); 我可以读取没有问题的数据。 但是,当我尝试用POST请求尝试虚拟数据插入时,最终出现此错误: 错误:Forbidden 127.0.0.1 – – [Thu,06 Feb 2014 00:11:30 GMT]“POST / myRoute HTTP / 1.1”500 374“ – ”“Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,像Gecko)Ubuntu Chromium / 32.0.1700.102 Chrome / 32.0.1700.102 […]

关于用MEAN Stack创build多租户SAAS应用程序的build议(Mongodb,express,angular,node)

我试图围绕开发与MEAN堆栈,而不是PHP和MySQL的SAAS应用程序。 我需要一个很好的方法来build立一个使用mongodb的多租户应用程序。 我从以前的阅读中知道,由于单个mongo数据库的大尺寸,我不想为每个客户build立一个数据库,所以我很可能坚持使用单个数据库。 我想在每个集合中创build类似于具有“customer_id”值的mysql数据库的数据库将是最好的主意,但是这使我的主要问题… 如果我为这个应用程序创build一个REST API,用户将如何访问他们的信息。 我会login他们,然后根据他们的客户端ID,访问API的方式,如: api.myapplication.com/CLIENTID/projects 任何意见,这是表示赞赏。 ====== 我想扩大我的用例情况,因为虽然第一个答案是非常好的,我想要一些额外的build议。 我将创build一个系统,用户注册我们的应用程序,并保留一堆内部logging。 我不想放弃太多的细节,所以可以说这个用户公司注册,然后他可以添加“团队成员”。 他的团队成员都有与他的主要公司有关的个人login信息。 这家公司有几个资源。 可以说估计和发票(像新书)。 我正在考虑启动这个项目,每个公司都提供一个独特的ID。 这个ID变成了一个mongo集合。 里面的单一收集是所有的公司估计,发票,团队成员和文件与他们所有的条纹api信息(我的帐单使用)。 ====== 我已经阅读了每个用户收集数据库的优缺点,我认为根据我读过的内容,每个用户情况下最好是单个数据库,这是我的第二select。 任何更多的意见/反馈基于我原来的问题的扩大表示赞赏。

npm在Windows 7上安装restify错误?

我正在尝试使用Node.js构buildREST Web服务,以便在安装后尝试安装restify,然后从http://nodejs.org/和python版本2.5下载并安装node.js版本0.10.29。 C:\Program Files\nodejs>npm install restify 它显示一个错误:“gyp”失败,退出代码:1? 如下图所示,我也search了很多关于这个错误的谷歌,但我无法find解决scheme。

你可以在RESTFUL环境中使用NodeJs Passport Sessions吗?

我正在尝试在RESTful环境中设置护照,并不能让用户序列化到会话数据中。 虽然login和注册工作很好。 我或多或less地遵循scotch.io的教程,但是我做了一些调整,以便通过RESTful API工作。 简而言之,这是我的服务器设置: var express = require("express"); // v 4.8.5 var cookieParser = require("cookie-parser"); // v 1.3.3 var bodyParser = require("body-parser"); // v 1.9.0 var session = require("express-session"); // v 1.8.2 var passport = require("passport"); // v 0.2.1, passport-local is v 1.0.0 var app = express(); require("./config/Passport")(passport); app.use( morgan('dev') ); app.use( cookieParser(secret) ); […]

如何通过REST接口从Oozie获取通知?

我正在开发一个通过Oozie REST接口提交作业的Node.js进程。 我想得到我的工作状态(成功,失败,死亡等)的通知。 我知道我可以每n秒钟轮询一次/v2/job/:jobId端点,但是更愿意订阅通知,所以我可以及时将它们展示给客户端。 我浏览了整个Web API文档 ,发现有一个/v2/slaterminal,但我找不到任何有关如何使用它的文档。 我唯一能做的就是使用Java队列接收JMS消息(我不确定是否适用Cloudera的一篇文章 )。 如果可能,我想要更多JavaScript-y。 有人可以指出我正确的文件/方向如何获得Oozie通知?

用RESTful体系结构进行长轮询(用户通知)

我正在做一个简单的RESTful api(在NodeJs上)。 我明白,宁静意味着水平缩放将会更容易。 不幸的是,我需要某种方式让客户几乎立即得到某些事件的通知。 为此,我正在考虑做长期投票。 我有这个问题是如何与多个服务器的工作。 例如,这是一个简化的用例: Both servers A and B are behind a common load balancer. User Alice posts a message on Bob's wall (PUT request on server A). If Bob is online, he should be notified instantly (long-polling on server B). 服务器A如何向Bob发送通知,或者服务器B知道应该通知Bob?

使用Express与NodeJS结合REST API的最佳实践

这是一个独立的经纪人应用程序。 我是Express和Node的新手,所以我想就如何构build这个应用程序的结构提供一些build议。 起步: 我只有一个app.js文件是服务器,并打开Web套接字。 另一个(router.js)具有Router()和一个REST调用列表。 但是,这个应用程序将会有很多的REST调用,并期待着大量的数据进入和请求出去。 所以只要在router.js中有一个get,post等等的调用列表就可以很快得到解散。 有没有更好的方法来devise这个应用程序?