用MongoDB针脚构建REST API188金宝搏手机客户端安卓下载

安德鲁摩根

#技术的 #云 #缝 #javascript.

关于MongoDB针的伟大事物之一是它经常删除建立REST 188金宝搏手机客户端安卓下载API的需要,以便从前端应用授予对数据的访问 - 只需使用针QueryAnywhere从前端代码制作M188金宝搏手机客户端安卓下载ongoDB查询。但是,通常需要在其他应用程序中向其他应用程序打开一些数据的情况缝线SDK.- 幸运的是,缝线使得这些场合构建REST API非常容易。

我喜欢通过登录Swarm/FourSquare来跟踪我的位置,但我想从这些数据中获得一些额外的价值——这意味着把它放到MongoDB集合中。188金宝搏手机客户端安卓下载

FourSquare提供了一个IFTTT服务只要您通过链接到“即可触发即可触发制造商服务发送HTTP邮政请求,我可以将签入数据转发到针脚。这是缝线进来的地方;一个简单的针迹HTTP服务Webhook接收邮政请求并将数据写入MongoDB:188金宝搏手机客户端安卓下载

export = function(payload) {var queryag = payload.query.arg || ";Var body = {};if (payload.body) {body = json .parse(payload.body.text());} var owner_id = context.函数。执行(“ownerFromEmail”,body.email);Var checkin = {owner_id: owner_id。owner_id、电子邮件:身体。电子邮件、venueName:身体。地点,日期:身体。报到Date, url: body.url, locationImg: body.location + "&key=" + context.values.get("GoogleMapsStaticKey") }; return context.functions.execute("checkin", checkin); };

webhook使用报到功能:

导出=函数(checkin){var atlas = context.services.get(“mongodb-atlas”188金宝搏手机客户端安卓下载);var checkincoll = atlas.db(“trackme”)。集合(“签到”);尝试{checkincoll.insertone(checkin);catch(e){console.log(“插入checkin doc错误:”+ e);返回e.message();}};

注意,在配置HTTP服务时,我设置了请求者必须包含的API键秘密查询参数:

安全缝合网钩与秘密

IFTTT FourSquare applet

现在数据在MongoDB中,我可以用它做什么就没188金宝搏手机客户端安卓下载有限制了。例如,我想要一个显示签到数据的仪表板,我想要包含的一件事是一张我最频繁签到的图表:

Foursquare签到grapsh

要实现这一点,我写了一个新的缝线功能:

导出=函数(限制){var atlas = context.services.get(“mongodb-atlas”);188金宝搏手机客户端安卓下载var checkincoll = atlas.db(“trackme”)。集合(“签到”);var checkins = checkincoll.aggregate([{$匹配:{owner_id:context.user.id}},{$组:{_id:{_id:{_id:{_ID:{_ID:{_ID:{_ID:},count:{$ sum:1}}},{$ sort:{count:-1}},{$ limit:limit},{$ project:{venue:'$ _id“,_id:0,count:1}})。toarray();退货签到;};

从前端应用程序,它可以采用单个方法调用来检索数据:

这个.props.stitchclient .executfunction('popularCheckins',10)。然后(checkindata => {this.setstate({checkins:checkindata}); this.createbarchartart();},错误=> {console.log(“失败要获取最受欢迎的Chee-Ins:“+错误)})

您可以为自己重新创建这个针和前端应用程序从github下载应用程序将其导入针脚

创建你的第一个针应用程序?从其中一个开始针脚教程

想了解更多有关MongoDB STITH的信息吗?188金宝搏手机客户端安卓下载阅读白皮书