【发布时间】:2019-01-25 12:58:21
【问题描述】:
我正在开发一个 MEAN 应用程序(Mongo、Express、Angular、Node)。我想在 Express 中创建一个使用 Mongo 的 countDocuments() 方法返回集合中条目总数的 GET 路由。
获取路线:
app.get('/total', (req, res) => {
collection.countDocuments({}, function(err, num) {
assert.equal(null, err);
var total = {'total' : num}
res.send(total);
});
});
我创建了 total 对象,因为我理解 Angular 的 HttpClient 模块仅适用于 JSON 格式的数据。我试图将num 直接作为res.send(num) 传递,但它不起作用。我认为这是因为typeof(num) 返回Number 而不是Object。
上面的路线有效,但制作total 对象对我来说似乎是一种黑客行为。有没有更有效的方法来传递 Number 类型的东西,以便 Angular 可以使用它?
这里是相关的Angular组件代码:
export class AppComponent implements OnInit {
total: object;
constructor(private http: HttpClient){
}
ngOnInit(): void {
this.http.get('http://localhost:1337/total').subscribe(
data => {
this.total = data;
}
);
}
}
【问题讨论】:
-
你能把你的总变量改成{total: num}吗?删除引号。
标签: node.js angular mongodb express angular-httpclient