Исключение с использованием Mongomapper с Ruby: «Нет файла для загрузки Mongo_Mapper»

StackOverflow https://stackoverflow.com/questions/3858555

  •  27-09-2019
  •  | 
  •  

Вопрос

Я скачал GEM Mongo_Mapper, и он успешно установил. Теперь я использую его в своем приложении, и он всегда бросает исключение «Нет файла для загрузки Mongo_Mapper». Что это должно значить?

require 'mongo_mapper'

include mongo

Обновление: после использования требуются «Rubygems». Моя оригинальная проблема ушла сейчас, есть еще одна странная проблема:

Я получаю следующее:

**Notice: C extension not loaded. This is required for optimum MongoDB Ruby driver performance.
  You can install the extension as follows:
  gem install bson_ext

  If you continue to receive this message after installing, make sure that the
  bson_ext gem is in your load path and that the bson_ext and mongo gems are of the same version.

Я уже установил bson_ext, но он продолжает бросать это исключение!

Обновление 2: BSON Предупреждение теперь прошло, но я не могу перечислить элементы в коллекции клиентов.

require 'rubygems'
require 'mongo_mapper'

include Mongo

MongoMapper.database = 'Northwind'

class Customer
  include MongoMapper::Document

  key :FirstName, String
  key :LastName, String
  key :UserName, String
end


customers = Customer.all

puts customers.count # this always is 0. It should be 1 since there is one item in the Customers collection

puts customers
Это было полезно?

Решение

Вам нужно включить Rubygems, прежде чем включить драгоценный камень.

require 'rubygems'
require 'mongo_mapper'

Я также уверен, что ваша следующая строка include mongo неверно, вы, вероятно, хотите include Mongo. Отказ На самом деле вы, наверное, вообще ничего не хотите, так как ваш план должен использовать MongoMapper, а не водитель напрямую.

Обновлять:

Для bson_ext вещь, это не исключение, просто предупреждение. Очевидно, что для производства, которые вы захотите разобраться, и вы можете сделать это, убедившись, что у вас установлены последние драгоценные камни: sudo gem install mongo bson_ext mongo_mapper Что следует вам сказать (по состоянию на 4 октября 2010 г.), что он установил Mongo 1.1, BSON_EXT 1.1 и Mongo_Mapper 0,8.4.

Обновление 2:

Нужно больше информации. Заказчик вы ожидаете появиться в Mongo Shell? Как вы его вставили? Вы уверены, что имена коллекций верны?

Итак, если вы использовали некоторую .NET, чтобы сделать набор данных и не может изменить его сейчас, вы можете указать имя коллекции вручную для документа Mongomapper. Вот так:

class Customer
  include MongoMapper::Document
  set_collection_name 'Customers'

  # other stuff
end
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top