0

mongo_mapper gemをダウンロードし、正常にインストールされました。現在、アプリで使用していますが、常に「mongo_mapperをロードするファイルがありません」という例外がスローされます。それはどういう意味ですか?

require 'mongo_mapper'

include mongo

更新:最初にrequire'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の警​​告はなくなりましたが、Customersコレクションのアイテムを一覧表示できません。

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
4

1 に答える 1

0

宝石を含める前に、rubygemsを含める必要があります。

require 'rubygems'
require 'mongo_mapper'

私はまたあなたの次の行include mongoが間違っているとかなり確信しています、あなたはおそらく欲しいでしょうinclude MongoMongoMapper実際には、ドライバーを直接使用するのではなく、を使用することを計画しているため、おそらく何も必要ありません。

アップデート:

事に関してはbson_ext、それは例外ではなく、ただの警告です。明らかに本番環境で使用する場合は、これを整理する必要があります。最新のgemがインストールされていることを確認してください。これにより、sudo gem install mongo bson_ext mongo_mappermongo 1.1、bson_ext 1.1、mongo_mapper 0.8がインストールされたことがわかります(2010年10月4日現在)。 4.4。

アップデート2:

詳細情報が必要です。表示する予定の顧客はmongoシェルに表示されますか?どのように挿入しましたか?コレクション名は正しいですか?

したがって、.NETを使用してデータセットを作成し、現在は変更できない場合は、MongoMapperドキュメントのコレクション名を手動で指定できます。そのようです:

class Customer
  include MongoMapper::Document
  set_collection_name 'Customers'

  # other stuff
end
于 2010-10-04T19:52:24.850 に答える