Nano Hash - криптовалюты, майнинг, программирование

Как подключить 2 разных хоста в mongodb

У меня есть служба на ruby, и я пытаюсь подключиться к двум разным хостам с двумя разными базами данных.

Я пытаюсь что-то вроде этого

mongoid.yml

development:
  clients:
    default:
      database: cpeTracking
      hosts:
       - development-shard.mongodb.net:27017
       - development-shard.mongodb.net:27017
       - development-shard.mongodb.net:27017
      options:
        user: my_user
        password: my_password
        auth_source: admin
        ssl: true
      database: testDb
        hosts:
        - localhost:27017

И моя модель

class Movies
  include Mongoid::Document
  include Mongoid::Attributes::Dynamic
  store_in database: "testDb"

  field :name, type: String
  field :year, type: Integer
  field :director, type: String
end

Когда я запускаю службу, подключаюсь только к первому хосту. Я также попробовал это решение Подключение к двум базам данных Mongoid, но не сработало.

19.03.2019

  • В вашей пасте все хосты одинаковы. 20.03.2019

Ответы:


1

Я нашел ответ. Сначала мне нужно создать нового клиента на том же уровне по умолчанию, я назвал его «вторичным» с информацией о базе данных и хосте.

development:
  clients:
    default:
      database: my_db
      hosts:
        - development-shard.mongodb.net:27017
        - development-shard.mongodb.net:27017
        - development-shard.mongodb.net:27017
      options:
        user: my_user
        password: my_pass
        auth_source: admin
        ssl: true
    secondary:
      database: testDb
      hosts:
       - localhost:27017

Второй. В модели мне пришлось добавить коллекцию, базу данных и клиент, который будет использовать

class Movies
  include Mongoid::Document
  include Mongoid::Attributes::Dynamic
  store_in collection: "movies", database: "testDb", client: "secondary"

  field :name, type: String
  field :year, type: Integer
  field :director, type: String
end
20.03.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..