当前位置: 首页 > 面试题库 >

将多个Mongodb数据库与Meteor.js一起使用

后易安
2023-03-14
问题内容

2 Meteor.Collections能否从2个不同的mongdb数据库服务器中检索数据?

Dogs = Meteor.Collection('dogs')        // mongodb://192.168.1.123:27017/dogs
Cats = Meteor.Collection('cats')        // mongodb://192.168.1.124:27017/cats

问题答案:

更新资料

现在可以连接到远程/多个数据库:

var database = new MongoInternals.RemoteCollectionDriver("<mongo url>");
MyCollection = new Mongo.Collection("collection_name", { _driver: database });

<mongo_url>mongodb url 在哪里,例如mongodb://127.0.0.1:27017/meteor(带有数据库名称)

目前,这样做有一个缺点:没有Oplog

旧答案

目前,这是不可能的。每个流星应用程序都绑定到一个数据库。

您可以通过几种方法解决此问题,但其价值可能会更复杂:

一种选择-使用单独的Meteor应用

在另一个流星应用程序中(例如在同一台计算机上的端口6000上运行)。您仍然可以具有反应性,但需要通过方法调用代理插入,删除和更新

服务器:

Cats = Meteor.Collection('cats')

Meteor.publish("cats", function() {
    return Cats.find();
});

Meteor.methods('updateCat, function(id, changes) {
    Cats.update({_id: id}, {$set:changes});
});

您当前的Meteor应用:

var connection = DDP.connect("http://localhost:6000");

connection.subscribe("cats");
Cats = Meteor.Collection('cats', {connection: connection});

//To update a collection
Cats.call("updateCat", <cat_id>, <changes);

另一个选项-自定义mongodb连接

这使用了节点js mongodb本机驱动程序。

就像在其他任何节点js应用程序中一样,这将连接到数据库。

没有 可用的反应,你不能使用new Meteor.Collection类型的集合。

var mongodb = Npm.require("mongodb"); //or var mongodb = Meteor.require("mongodb") //if you use npm package on atmosphere

var db = mongodb.Db;
var mongoclient = mongodb.MongoClient;
var Server = mongodb.Server;

var db_connection = new Db('cats', new Server("127.0.0.1", 27017, {auto_reconnect: false, poolSize: 4}), {w:0, native_parser: false});

db.open(function(err, db) {
    //Connected to db 'cats'

    db.authenticate('<db username>', '<db password>', function(err, result) {
      //Can do queries here
      db.close();
   });
});


 类似资料:
  • 问题内容: 2 是否可以从2个不同的mongdb数据库服务器中检索数据? 问题答案: 更新资料 现在可以连接到远程/多个数据库: mongodb url 在哪里,例如(带有数据库名称) 目前,这样做有一个缺点:没有Oplog 旧答案 目前这是不可能的。每个流星应用程序都绑定到一个数据库。 有几种方法可以解决此问题,但其价值可能更复杂: 一种选择-使用单独的Meteor应用 在另一个流星应用程序中(

  • 问题内容: 所有,我必须创建一个具有基本架构的数据库。该数据库将很大(超过100GB),并将用作数据仓库。现在,该数据库的创建当前正在通过C#代码“一次命中”执行。从许多不同的来源中提取数据。由于数据量巨大,这种创建引起了一些问题。已经决定,与其一口气创建一个数据库,不如一次创建一个数据库。到 创建几个包含核心数据表的较小数据库。 将较小的数据库合并为一个较大的数据库。 建立架构/添加相关约束。

  • 当我尝试将Spring Data JPA和spring的数据MongoDB与springboot一起使用时,它假设我的Mongo实体也是JPA实体,并抛出错误。 我有Person JPA实体和扩展了JPARepository的PersonRepository。并且我有用户Mongo实体和扩展MongoRepository的UserRepository。 当我启动应用程序时,我会得到以下错误: 这方

  • 我目前正在使用BPMN和Activiti创建一些业务流程。对于该业务流程中的一个步骤,我需要查询数据库并在后续步骤中使用该结果。因此,我正在寻找可能的解决方法,将SQL操作功能集成到Activiti中。那么,有谁能建议我,是否有任何方法可以为activiti嵌入sql查询功能?对于使用Activiti引擎为BPMN进程提供外部数据库交互的任何建议,我们深表感谢。 如果这样的解决方案不存在,那么关于

  • 问题内容: 我想用MySQL和JPA设置Spring Boot。为此,我创建: Person PersonRepository PersonController 开始课程示例: 对于数据库配置,我创建了application.properties 所以我有项目结构: 但是结果是我有例外: 问题答案: 我像你一样创建了一个项目。结构看起来像这样 这些类只是复制自你的类。 我将application.

  • 我正在处理一个Flask项目,我正在使用Flask SQLAlchemy。 我需要处理多个已经存在的数据库。 我创建了“app”对象和SQLAlchemy对象: 在配置中,我设置了默认连接和附加绑定: 然后,我使用声明性系统创建了表模型,并在需要时设置参数以指示表位于哪个数据库中。 例如: 通过这种方式,当我在正确的数据库上进行查询时,一切都正常工作。 阅读SQLAlchemy文档和Flask S