2017-02-06 7 views
0

Я не могу выполнить запрос upsert в версии mongodb 3.0.12 и рубиновой версии gem версии 1.x. Я использую Ruby версии 1.9.3. Я попробовал модернизировать mongodb до версии 3.2 и 3.4, но все еще сталкивался с такой же проблемой. Если кто-то знает, что происходит или сталкивается с подобной проблемой, пожалуйста, дайте некоторые идеи.Не удалось выполнить команду «update» базы данных: Неизвестная опция для обновления команды: upsert

Database command 'update' failed: Unknown option to update command: upsert 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/db.rb:559:in `rescue in command' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/db.rb:555:in `command' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/collection_writer.rb:314:in `block in send_write_command' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/functional/logging.rb:55:in `block in instrument' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/functional/logging.rb:20:in `instrument' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/functional/logging.rb:54:in `instrument' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/collection_writer.rb:313:in `send_write_command' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/collection.rb:1076:in `send_write' 
/Users/ayushgaur/.rvm/gems/ruby-1.9.3-p551/bundler/gems/mongo-ruby-driver-de949571b660/lib/mongo/collection.rb:497:in `update' 
+0

Не является ли монго-рубиновый драйвер до версии 2.4? Почему вы на версии 1.x? – eiko

+0

Пожалуйста, укажите фактический запрос, который вы использовали. –

+0

@eiko В проекте много зависимых драгоценных камней, поэтому я не хочу в конечном итоге обновлять их все. –

ответ

0

Монго-рубиновый драйвер 1.x не полностью поддерживает MongoDB 3, согласно https://www.mongodb.com/blog/post/announcing-ruby-driver-20-rewrite:

Есть много причин для обновления до Монго гема версии 2.0 и Mongoid гема версии 5.0, когда он будет выпущен. Во-первых, эти версии поддерживают MongoDB 3.0 [...] Новые функции не будут добавлены, а работа по разработке будет состоять только из исправлений ошибок и минимальных функций, необходимых для поддержки самой последней версии сервера.

Я искал весь Интернет для людей с подобной проблемой, и только люди, которые я нашел, были те, в pagerbot, которые использовали серию 1.x драгоценного камня с Монго 3 и получить точно такую ​​же ошибку, как вы :

https://github.com/stripe-contrib/pagerbot/issues/46

Они решили ошибку, обновив Монго-рубинового драйвера 2. Извинения за вас бороться с этими зависимостями, но я не мог найти более простой ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^