Mongo ruby ​​setFeatureCompatibilityVersion - PullRequest
       13

Mongo ruby ​​setFeatureCompatibilityVersion

0 голосов
/ 31 октября 2019

Использование mongo (3.4) в приложении rails (5.2) с драйвером mongo ruby. Мне нужно использовать сопоставление в коллекции, чтобы разрешить поиск текста без учета регистра, и для этого я получил предупреждение, что мне нужно добавить setFeatureCompatibilityVersion в 3.4.

client  = Mongo::Client.new(['127.0.0.1:27017'], :database => 'leads')
db = client.database
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
collection_name = "#{user.id.to_s}"
@collection = client[collection_name.to_sym, { "collation" => { "locale" => "en_US" } }]
...

Но получить NoMethodError (undefined method adminCommand 'для #) `

Я не использую mongoid для этого случая, поэтому использование модели для этого с использованием mongoid невозможно.

Как это исправить?

ОБНОВЛЕНИЕ ::

Что сработало, так это то, что я получил доступ к оболочке Монго с помощью Монго и ввел

db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{ "ok" : 1 }

Эта команда должна применяться только к БД непосредственно в оболочке

1 Ответ

1 голос
/ 31 октября 2019

Метод в драйвере Ruby для запуска произвольных команд: Database#command:

https://api.mongodb.com/ruby/current/Mongo/Database.html#command-instance_method

...