在流星方法中使用来自集合插入的id

时间:2017-01-17 20:23:50

标签: angularjs meteor typescript angular-meteor

在我的Angular / Meteor应用程序中,我想在客户端的meteor方法中使用集合插入中创建的id。

在客户端Angular组件中,存在以下方法。

onSubmit(): void {
  Meteor.call('insertItem', this.item, (error, response) => {
    if (error) {
      ...
    } else {
      this.ngZone.run(() => {
        this.router.navigate(['/item/manage', response]);
      });
    }
  });
} 

此方法调用的流星方法如下所示。

insertItem(newItem: Item): Observable<string> {
    return Items.insert(newItem);
}

我想使用插入后返回的ID。 这个id是一个Observable,但是meteor方法调用中的响应并没有将它识别为Observable。

我能以什么方式将Id返回给客户端并在路由器中使用它?

1 个答案:

答案 0 :(得分:2)

我认为错误发生在服务器端的流星方法上:

Items.collection.insert(newItem)

使用添加的.collection,它将返回新的_id-string。