我正在尝试使用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;但是当我尝试进行个人查询时,没有骰子。任何人都有任何想法,我做错了什么?