gpt4 book ai didi

javascript - Meteor远程采集-钩子(Hook)不起作用

转载 作者:行者123 更新时间:2023-11-28 04:19:27 25 4
gpt4 key购买 nike

我必须连接到外部数据库并访问其集合。当我使用它时它工作得很好,但问题是当我需要收集钩子(Hook)时,例如Collection.after.insert(函数(userId,doc))。钩子(Hook)没有被发射。我有以下代码:

// TestCollection.js

let database = new MongoInternals.RemoteCollectionDriver("mongodb://127.0.0.1:3001/meteor",
{
oplogUrl: 'mongodb://127.0.0.1:3001/local'
});
let TestCollection = new Mongo.Collection("testCollection", { _driver: database });
module.exports.TestCollection = TestCollection;
console.log(TestCollection.findOne({name: 'testItem'})); // writes out the item correctly

// FileUsingCollection.js
import { TestCollection } from '../collections/TestCollection.js';
console.log(TestCollection.findOne({name: 'testItem'})); // writes out the item correctly second time

TestCollection.after.update(function (userId, doc) {
console.log('after update');
}); // this is NOT being fired when I change the content of remote collection (in external app, which database I am connected)

如何实现这一点?

编辑:

我已经阅读了很多关于它的内容,我认为它可能与以下内容有关:- 操作日志- 副本集

但我是 Meteor 的新手,不知道这些东西是什么。我已经设置了 MONGO_OPLOG_URL 并将 oplog 参数添加到数据库驱动程序中,如下所示:https://medium.com/@lionkeng/2-ways-to-share-data-between-2-different-meteor-apps-7b27f18b5de9但一切都没有改变。而且我不知道如何使用这个replicaSet,如何将其添加到url中。有人可以帮忙吗?

最佳答案

您也可以尝试类似下面的代码,

    var observer = YourCollections.find({}).observeChanges({
added: function (id, fields) {

}
});

您还可以有 'addedBefore(id, fields, before)', 'changed(id, fields)', 'movedBefore(id, before) )','已删除(id)'

更多功能goto link .

关于javascript - Meteor远程采集-钩子(Hook)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45563511/

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