构建一个REST API与MongoDB的针188金宝搏手机客户端安卓下载

安德鲁·摩根

#技术 #云 #缝 #JavaScript

其中一件关于MongoDB的针伟大的事情是,它往往就不再需要188金宝搏手机客户端安卓下载构建REST API从前端应用程序授予访问您的数据 - 只需使用针QueryAnywhere从您的前端代码使188金宝搏手机客户端安卓下载MongoDB的查询。然而,经常情况下,你需要打开你的一些数据,以不使用其他应用程序的情况下针SDK- 幸运的是,针使得它非常容易建立的REST API为这些场合。

我喜欢通过检查进入群/ FourSquare那种跟踪我的位置,但我想从这些数据有些额外的价值 - 这意味着获得它变成一个MongoDB的集合。188金宝搏手机客户端安卓下载

FourSquare那种提供IFTTT服务这引发每当你在检查 - 通过链接到设备服务发送一个HTTPPOST要求,我可以转发,办理入住手续的数据拼接。这就是十字绣进来;一个简单的针迹HTTP服务网络挂接接收POST请求和数据写入的MongoDB:188金宝搏手机客户端安卓下载

出口=函数(有效载荷){风险queryArg = payload.query.arg ||'';VAR体= {};如果(payload.body){体= EJSON.parse(payload.body.text());} VAR owner_id = context.functions.execute( “ownerFromEmail”,body.email);VAR签= {owner_id:owner_id.owner_id,电子邮件:body.email,venueName:body.venue,日期:body.checkinDate,网址:body.url,locationImg:body.location + “&关键=” + context.values.get( “GoogleMapsStaticKey”)};返回context.functions.execute( “签入”,签);};

网络挂接使用报到功能:

出口=函数(签){风险图谱= context.services.get( “mongodb的-图谱”);188金宝搏手机客户端安卓下载VAR checkinColl = atlas.db( “trackme”)集合( “签入”)。尝试{checkinColl.insertOne(签);}赶上(E){的console.log( “错误插入签入文档:” + e)条;返回e.message();}};

注意:在配置HTTP服务时,我设置的API密钥请求者必须包括作为秘密查询参数:

固定线迹与网络挂接秘密

IFTTT FourSquare那种小程序

既然数据是在MongoDB中,有没有什么限制,我188金宝搏手机客户端安卓下载可以用它做。例如,我要为我办理入住手续数据的仪表板,并有一两件事我想包括在我的最频繁的检查插件图:

四方签入grapsh

要实现这一点,我写一个新的装订功能:

出口=函数(限制){风险图谱= context.services.get( “mongodb的-图谱”);188金宝搏手机客户端安卓下载VAR checkinColl = atlas.db( “trackme”)集合( “签入”)。VAR =签入checkinColl.aggregate([{$匹配:{owner_id:context.user.id}},{$组:{_id: “$ venueName”,计数:{$总和:1}}},{$排序:{计数:-1}},{$限制:限制},{$项目:{地点: “$ _id”,_id:0,计数:1}}])的toArray();返回签;};

从前端应用程序,然后又把一个方法调用来检索数据:

this.props.stitchClient .executeFunction( 'popularCheckins',10)。然后(checkinData => {this.setState({签:checkinData}); this.createBarChart();},误差=> {的console.log(“无法获取最流行的签到:“+误差)})

您可以重新创建这种针法和前端应用程序为你的自我的下载从GitHub的应用在将它导入针

创建第一个针的应用程序?开始的一个十字绣教程

想了解更多关于MongoDB的针?188金宝搏手机客户端安卓下载阅读白皮书