网站搜索

angularjs - 在 meteor 方法中使用集合插入的 id


在我的 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

我认为错误出在服务器端的 Meteor 方法上:

Items.collection.insert(newItem)

添加 .collection 后,它将返回新的 _id 字符串。