如何使用gridFs将我的后端与我的前端与angular2和ionic2连接起来?

Posted

技术标签:

【中文标题】如何使用gridFs将我的后端与我的前端与angular2和ionic2连接起来?【英文标题】:How to connect my backend with my frontend with angular2 and ionic2 using gridFs? 【发布时间】:2017-09-28 22:01:06 【问题描述】:

我使用gridFs 在我的数据库中创建了一个文件。文件如下:

storeAudio.js

   var mongoose = require('mongoose');
    var fs = require('fs');
    var Grid = require('gridfs-stream');
    Grid.mongo=mongoose.mongo;


    //establish mongoDB connection
     mongoose.Promise = global.Promise;
    var conn = mongoose.createConnection('mongodb://localhost:27017/aHolyBoly');
    conn.once('open',function()
       var gfs = Grid(conn.db);
     // var db = new mongo.Db('aHolyBoly', new mongo.Server("127.0.0.1", 27017));
    //var gfs = Grid(db, mongo);

    var writeStream = gfs.createWriteStream(
        filename:'song1.mp3'
    );
    fs.createReadStream('../list/hero.mp3').pipe(writeStream);
    writeStream.on('close',function(file)
        console.log(file.filename +'Written to db');
    );
    );

现在,我想使用 express 和 node 创建一个 API,以便我可以使用 Ionic2Angular2 将我的后端与前端连接起来。

所以我看到了这个教程: https://www.joshmorony.com/building-a-review-app-with-ionic-2-mongodb-node/ 现在在本教程中,HTTP 动词 GETPOST 等用于进行 API 调用,然后将其用作提供程序。那么这是继续我的项目的方式吗?如果是这样,那么我有一些问题如下:

在上面提到的链接中有 server.js 文件。在该文件中的代码为mongoose.connect('mongodb://localhost/reviewking'); 如果已在我的文件storeAudio.js中使用,为什么还要再次使用它?

其次,HTTP 动词是否应该以类似的方式使用gridFs

注意:我第一次使用所有东西(ionic2angular2 除外)。如果需要提供更多输入,请告诉我。如果在这篇文章中发现错误,我们深表歉意。

【问题讨论】:

【参考方案1】:

这是我的一个提供者在 ionic 3 应用程序中调用我的 API 的示例函数:

getClients()

let headers = new Headers();
headers.append('Authorization', this.authService.token);

this.http.get('https://ptassist.herokuapp.com/api/auth/' + this.authService.user._id, headers: headers)
  .map(res => res.json())
  .subscribe(data => 
    this.clientlist = data;
    console.log(this.clientlist);
  , (err) => 

    console.log(err);
  );






至于您对猫鼬连接的其他查询,我不完全确定,您是否在 github 等上编写过代码?

【讨论】:

以上是关于如何使用gridFs将我的后端与我的前端与angular2和ionic2连接起来?的主要内容,如果未能解决你的问题,请参考以下文章

问题将 vue.js 前端与我的 django 后端集成

找不到变量 setUserEmail

使用 Datatable.js 时,如何将我点击的页面编号发送回我的后端? (有一些小问题)

如何保护仅服务于我的前端的自己的后端 API?

Paypal 使用 PHP 和 MySql 与我的后端集成

我无法将我的 v-model 数据传递到我的后端以获取 vue.js 中的单选按钮类型,如何将选中的单选按钮值传递给我的后端?