Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 流星保持反应中的多重分贝_Javascript_Mongodb_Meteor - Fatal编程技术网

Javascript 流星保持反应中的多重分贝

Javascript 流星保持反应中的多重分贝,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,有什么方法可以使用多个MongoDB数据库来保持meteor/Oplog工作?我一直在读关于它的书,但我仍然没有看到一个实现这一目标的捷径。有可能吗?正确的方法是什么?谢谢。我将把我迄今为止的发现写在这里,但我不会把这个问题标记为已回答 概念 什么是反应性? 使用反应性,您向用户显示的数据将实时更新。您可以在订阅集合时启用或禁用反应性。像这样: // enabled by default Meteor.publish('top', function() { return Top.find({

有什么方法可以使用多个MongoDB数据库来保持meteor/Oplog工作?我一直在读关于它的书,但我仍然没有看到一个实现这一目标的捷径。有可能吗?正确的方法是什么?谢谢。

我将把我迄今为止的发现写在这里,但我不会把这个问题标记为已回答

概念 什么是反应性? 使用反应性,您向用户显示的数据将实时更新。您可以在订阅集合时启用或禁用反应性。像这样:

// enabled by default
Meteor.publish('top', function() {
  return Top.find({},{reactive: false});
});
什么是oplog? Oplog是MongoDB日志。当您告诉meteor使用oplog时,反应性能要好得多,除非您有大量的插入操作。在这种情况下,禁用它可能是明智的。Oplog可以优化您的反应式DB调用。如果要使用Oplog,您应该优化DB调用。你可以阅读更多关于它的内容

有什么方法可以将DBS连接到meteor? 默认连接: 反应性?对Oplog?对分贝限制?一个。描述:Meteor在运行“Meteor”时创建默认MongoDB数据库。您可以使用环境变量设置不同的数据库,或者只需
MONGO\uURL即可=mongodb://localhost:27017/db_name 流星

DDP: 反应性?对Oplog?对分贝限制?没有。说明:你需要一个流星项目的每一个数据库。每一分贝的内存大约为600MB。你可以读到关于它的信息,然后

MongoInternal(解决方案:感谢carlevans719): 反应性?对Oplog?对分贝限制?否。说明:您可以在订阅文件中指定DB,如下所示:

ar database = new MongoInternals.RemoteCollectionDriver('mongodb://user:password@localhost:27017/meteor', {oplogUrl: "mongodb://localhost:27017/local"});
var numberOfDocs = database.open('boxes').find().count();
最后一句话:
MongoInternal如果你不打算使用默认的db,你必须告诉meteor不要创建它。要实现这一点,您必须始终将meteor作为
MONGO\uURL运行=mongodb://localhost:27017 流星

正如你所说<代码>默认连接并不是一个真正的选项,因为您只能拥有一个DB,
DDP
在您只需要一个DB而不需要Meteor之类的东西时有点多余。因此,我认为最好的方法是使用
mongonternals
选项

这个选项唯一缺少的是反应性;中提到了为这些附加DB连接启用oplog跟踪的方法。在创建
RemoteCollectionDriver
时,基本上似乎传递了oplogUrl,下面是他们回答中给出的示例:

var driver = new MongoInternals.RemoteCollectionDriver(
    "mongodb://localhost:27017/db", 
    {
      oplogUrl: "mongodb://localhost:27017/local"
    });
var collection = new Mongo.Collection("Coll", {_driver: driver});