【发布时间】:2020-01-08 19:02:37
【问题描述】:
我打算实现的是某种“实时查询”功能。 到目前为止,我已经尝试过使用“watch”方法。根据documentation:
您可以通过调用打开匹配过滤器的更改流 collection.watch(delegate:) 以 $match 表达式作为参数。 每当观察到的集合发生变化并且 ChangeEvent 匹配时 提供的 $match 表达式,流的事件处理程序触发 ChangeEvent 对象作为其唯一参数
将文档 ID 作为数组传递非常有效,但传递查询不起作用:
this.stitch.db.collection<Queue>('queues')
.watch({
hospitalId: this.activehospitalid
}));
我也试过这个:
this.stitch.db.collection<Queue>('queues')
.watch({
$match: {
hospitalId: this.activehospitalid
}
},
));
这会在控制台上引发错误“StitchServiceError: mongodb watch: filter is invalid (unknown top level operator: $match)”。目的是查看字段“hospitalId”与提供的值匹配的所有文档,或者有效地将查询过滤器传递给watch() 方法。
【问题讨论】:
-
你使用什么语言/sdk?
-
这是在一个 Angular 应用程序上的打字稿