gpt4 book ai didi

java - Meteor Collection-hooks 不适用于外部数据库修改

转载 作者:可可西里 更新时间:2023-11-01 10:02:07 24 4
gpt4 key购买 nike

我周围散布着一堆传感器。

只要检测到环境发生变化,这些传感器就会传输其状态。

数据进入服务器(使用 Java 构建),在那里它处理该信息,然后将其插入到 mongoDB 中。

我的 meteor 应用程序本质上是此信息的仪表板。我想在这些条目进入后立即对其进行进一步处理(分析)。

我开始使用 Collection-Hooks,它在 Meteor 应用程序对数据库进行更改时非常有效,但在 mongo Java-Driver 更改数据库时效果不佳。

我需要收集 Hook 来检测从 Java 驱动程序添加到我的 mongoDB 的新文档。我也没有与收集 Hook 结婚,欢迎任何其他建议的服务。

最佳答案

您要使用的是查询返回的游标上的观察者: https://docs.meteor.com/api/collections.html#Mongo-Cursor-observe

myCollection.find().observe({
added(document) {
// Do something with new document
},
changed(document) {
// Update analytics in response to change
},
removed(oldDocument) {
// Update analytics in response to change
}
});

这将取决于实际数据库的内容,不像集合钩子(Hook)仅在调用 Meteor 代码时运行

还值得注意的是,这些 Hook 还跟踪传递给 find() 的特定查询。因此,如果您只想为特定的数据子集调用这些 Hook ,请像这样从 @scriptkid 的示例中传入查询:

var date = moment().utc().format("YYYY-MM-DD HH:mm:ss.SSS"); 
log.find({ createdAt: { $gte: date } }).observe({
added(document) {
console.log("new document added!");
},
});

关于java - Meteor Collection-hooks 不适用于外部数据库修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49204600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com