无法使用 express API 和节点 JS(Angular 4) post 数据到 mongo db

Not able to post data to mongo db using express API and node JS(Angular4)

我已经成功地使用 express API 和节点 js 从 MongoDB 获取数据并将其绑定到 angular ng2-smart-table。 单击 table 的添加按钮时,我正在调用 express API 但我的 post 方法未在 api.js 中调用,我尝试在 console.log 中打印 post 但它没有被调用。 为了更好地理解特此我post代码:

Component.ts

onCreateConfirm(event,_dataService): void {          
this._dataService.postMutualFunds(event.newData);
event.confirm.resolve(event.newData);
}

data.service.ts

postMutualFunds(parameterValue:any ){
   return this._http.post('/add_mutual_funds', 
   {params:parameterValue}).map(result => this.result = result.json().data);
}

api.js

var express = require('express');
var router = express.Router();
var MongoClient = require('mongodb').MongoClient;
var ObjectID = require('mongodb').ObjectID;
var bodyParser = require("body-parser");

 const connection  = (closure) => {
 return
 MongoClient.connect('mongodb://xxx.com:63898/xx', (err,db) => {
 if(err){
        return console.log(err);
    }
    closure(db);
    });
  }
 //Get call
 router.get('/mutual_funds',(req,res) =>{
    console.log("test get"); //This is executed
    connection((db) => {           
    var projection = {_id:0};
    db.collection('mutual_funds').find().project(projection). 
    toArray().then((mutual_funds) => {
           response.data = mutual_funds;
           res.json(response);
       })
     })      
  })

 //Post call
 router.post('/mutual_funds',(req,res) => {
        console.log(req.body.params);
        console.log("test post");
        db.collection('mutual_funds').insertOne(req.body.params)
 })

  module.exports = router;

现在我可以调用 api js 但无法将数据插入 mongodb 请在下面找到 api.js 执行输出的屏幕截图 //为什么我不能post数据?(更新我上面的post代码)遇到错误500

您没有订阅服务

onCreateConfirm(event,_dataService): void {          
  this._dataService.postMutualFunds(event.newData).subscribe(    
   (data)=>{
      console.log(data)     
   },
   (err)=>{
     console.log(err)
   }
 )
 event.confirm.resolve(event.newData);
}

The service method returns an Observable of configuration data, the component subscribes to the method's return value. The subscription callback copies the data fields into the component's config object, which is data-bound in the component template for display.

你为什么不订阅服务功能调用

this._dataService.postMutualFunds(event.newData).subscribe((data)=>{ console.log(data)},
(err)=>console.log(err),
()=>console.log('Observable complete')
);