Excepción usando MongoMapper con Ruby: “No hay archivo a mongo_mapper carga”

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

  •  27-09-2019
  •  | 
  •  

Pregunta

He descargado la gema mongo_mapper y se ha instalado correctamente. Ahora, lo estoy usando en mi aplicación y siempre ha producido una excepción "No hay archivo a mongo_mapper carga". ¿Qué se supone que significa eso?

require 'mongo_mapper'

include mongo

ACTUALIZACIÓN: Después de usar requiere rubygems '' primero. Mi problema original se ha ido ahora hay otro problema raro:

Me sale el siguiente:

**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.

Ya instalado bson_ext pero sigue echando esta excepción!

ACTUALIZACIÓN 2: advertencia BSON se ha ido, pero no soy capaz de enumerar los elementos de la colección Clientes.

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
¿Fue útil?

Solución

Es necesario incluir rubygems antes de incluir una joya.

require 'rubygems'
require 'mongo_mapper'

También estoy bastante seguro de que su próxima include mongo línea es incorrecta, es probable que desee include Mongo. En realidad, es probable que desee nada en absoluto, ya que su plan es el uso MongoMapper, no el conductor directamente.

Actualización:

En cuanto a lo bson_ext, no es una excepción, sólo una advertencia. Obviamente, para su uso en producción que se quiere resolver esto y usted puede hacerlo asegurándose de que tiene las últimas gemas instaladas: sudo gem install mongo bson_ext mongo_mapper que debe decir (como del 4 de octubre, 2010) que se instala mongo 1.1, bson_ext 1.1 y mongo_mapper 0,8 0.4.

Actualización 2:

¿Necesita más información. ¿El cliente tiene previsto aparecer aparece en la consola mongo? ¿Cómo se inserta? ¿Está seguro de los nombres de las colecciones razón?

Por lo tanto, si se ha utilizado alguna cosa .NET para hacer que el conjunto de datos y no se puede cambiar ahora, se puede especificar el nombre de la colección con la mano para el documento MongoMapper. De esta manera:

class Customer
  include MongoMapper::Document
  set_collection_name 'Customers'

  # other stuff
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top