2012-02-23 101 views
0

不知道爲什麼這不起作用。這是我第一次與Mongo合作,但是從我讀過的所有文檔中,這應該起作用?任何人有任何想法我失蹤?MongoMapper保存不起作用

require 'rubygems'                                              
require 'sinatra/base' 
require 'mongo_mapper'                                             

    mongo_server = '127.0.0.1'                                      
    mongo_database = 'inone'                                       

    MongoMapper.connection = Mongo::Connection.new(mongo_server)                                    
    MongoMapper.database = mongo_database                                         

    # DB model                                                
    class URLstore                                               
    include MongoMapper::Document                                           

    key :url_key, String                                             
    key :url, String                                              
    end      

class URLnip < Sinatra::Base                                            
    get '/testmongo' do   
    nipurl = URLstore.new(:url_key => "abc", :url => "www.google.com")                                                                           
    nipurl.save 
    end 
end 

打開Mongo的終端,我可以看到DB獲得的創建

> show dbs 
inone 0.203125GB 

但是這樣做帶來的所有

> db.inone.find() 
> 

> db.inone.find({url : 'www.google.com'}) 
> 

同退無結果什麼都沒有。

回答

0

不應該是db.urlstore.find()?或者MongoMapper改變的情況。在選擇正確的數據庫之後,Mongo shell中的show collections是什麼意思?

+0

>使用多功能一體 切換到DB傾朝野 >顯示集合 system.indexes ur_lstores – daemonza 2012-02-23 11:41:11

+0

您是否嘗試過'db.ur_lstores.find()'?你也許應該改變你的類名,它似乎不適合'MongoMapper'的命名方案。確保你在正確的數據庫順便說一句,所以'使用inone',然後再嘗試上述命令。 – 2012-02-23 11:44:32

+0

aah真棒,謝謝邁克爾,現在工作 – daemonza 2012-02-23 12:13:00