Meteor Collection-hooks 不适用于外部数据库修改
Meteor Collection-hooks not working for external DB modifications
我周围散布着一堆传感器。
这些传感器会在检测到环境发生变化时传输其状态。
数据进入服务器(使用 Java 构建),在那里处理该信息,然后将其插入 mongo 数据库。
我的 meteor 应用程序本质上是此信息的仪表板。我想在这些条目进入(分析)后立即对其进行进一步处理。
我开始使用 Collection-Hooks,它在 Meteor 应用程序对数据库进行更改时效果非常好,但在 mongo Java-Driver 进行更改时效果不佳。
我需要收集挂钩来检测从 Java 驱动程序添加到我的 mongoDB 的新文档。我也没有与收集挂钩结婚,欢迎任何其他建议的服务。
您要使用的是从查询返回的游标上的观察者:
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
}
});
这将取决于实际数据库的内容,不像收集挂钩仅在调用 Meteor 代码时运行
还值得注意的是,这些挂钩还跟踪传递给 find()
的特定查询。因此,如果您只想为特定的数据子集调用这些挂钩,请像这样从 @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 构建),在那里处理该信息,然后将其插入 mongo 数据库。
我的 meteor 应用程序本质上是此信息的仪表板。我想在这些条目进入(分析)后立即对其进行进一步处理。
我开始使用 Collection-Hooks,它在 Meteor 应用程序对数据库进行更改时效果非常好,但在 mongo Java-Driver 进行更改时效果不佳。
我需要收集挂钩来检测从 Java 驱动程序添加到我的 mongoDB 的新文档。我也没有与收集挂钩结婚,欢迎任何其他建议的服务。
您要使用的是从查询返回的游标上的观察者: 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
}
});
这将取决于实际数据库的内容,不像收集挂钩仅在调用 Meteor 代码时运行
还值得注意的是,这些挂钩还跟踪传递给 find()
的特定查询。因此,如果您只想为特定的数据子集调用这些挂钩,请像这样从 @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!");
},
});