使用MongoDB,NodeJS和Angular5

时间:2018-05-10 02:26:31

标签: node.js mongodb typescript angular5

我正在尝试使用Angular模板上的用户输入从我的MongoDB数据库中取回一条记录。这是我的api.js文件中的内容:

// Response handling
let response = {
status: 200,
key: [],
message: null
};

router.get('/keys/:key', (req, res, next) => {
connection((db) =>  {    
db.collection('keys')
  .findOne({key: req.params.key})
  .then((keys) => {
      response.key = keys;
      res.json(keys);
    })
  .catch(err => {
      return next({ status: 500, message: 'messed up'})
    });
  });
});

这是我的keys.service.ts文件:

@Injectable()
export class KeysService {

 result: any

 constructor(private _http: Http) {}

 getKeys(typeKey) {

   return this._http.get(`/api/keys/:key${typeKey}`)
     .map(result => this.result = result.json().key);

}

}

这是模板(我为格式化道歉):

<div class="container">
  <div style="text-align:center">
  <h1>
    Welcome to {{ title }}!
 </h1>   
</div>
<div class="row">
<div class="col-xs-12 col-sm-10 col-md-8 col-sm-offset-1 col-md-offset-2">
  <input type="text" [(ngModel)]="typeKey">
  <button class="btn btn-primary" (click)="getKeyClass(typeKey)">Check Your 
Key Spelling</button>
  <br><br>
  <h2>The Correct Key Spelling is: {{ keySpelling }}</h2>
  </div>
 </div>
</div>

我现在收到的错误是#34;类型错误,无法读取null&#34;的属性键。它指的是&#34; key&#34;在最后一行的keys.service.ts文件中。

我不是在这里使用猫鼬或僧侣。我有这个工作与我的数据库的一般查询,给了我集合的全部内容&#34;键&#34;但是当我尝试进行个人查询时,没有骰子。任何人都有任何想法,我做错了什么?

0 个答案:

没有答案