8
A
回答
4
[更新] 隨着MongoMapper設置可以很容易地使用mongodb的連接直接
mongodb = MongoMapper.database
collection = mongodb.collection("my_collection")
collection.find.first
=> {"_id"=>BSON::ObjectId('4e43dfc75d1e1e0001000001'), "key1"=>"val1" }
此其他SO Q/A是更直接的,使用JavaScript功能類似於MongoMapper.database.eval(Mongo::Code.new('function(){ return 11 + 6; })
[/ update]
我有這樣的polyglot體系結構,一些模型與postgresql,其他作爲mongo文件發言:。我不太確定你在問什麼,所以我會直接跳入並在這裏發佈最多的配置。它包括我的黑客,你可能會在其他地方找到更漂亮的配置。
我把設置在一個要點 https://gist.github.com/957341
OK,所以這裏的嵌入文檔,那麼規範的文件。我一個一個地寫了規格,所以他們有點受試駕。
class MyDocument
include MongoMapper::Document
key :title, String
key :published_at, Time, :index => true
key :collaborators, Array
many :my_embedded_documents
end
class MyEmbeddedDocument
include MongoMapper::EmbeddedDocument
key :title, String
key :author, String
embedded_in :my_document
end
規範
require "spec_helper"
describe MyDocument do
before do
@md = MyDocument.create(:title => "Example", :collaborators => ["mongomapper", "rspec", "oma"])
end
it "should have title" do
found = MyDocument.find(@md.id)
found.title.should == "Example"
end
it "should have two my_documents" do
MyDocument.create
MyDocument.count.should == 2
end
it "should be able to fetch embedded documents" do
@md.my_embedded_documents << MyEmbeddedDocument.new(:title => "The King", :name => "Elvis Presley")
@md.my_embedded_documents.build(:title => "Embedded example", :name => "Embeddo")
@md.save!
MyDocument.where(:title => "Example").first.should == @md #findMyEmbeddedDocument.count.should == 2
end
end
spec_helper.rb
RSpec.configure do |config|
#...
config.after(:each) do
MongoMapper.database.collections.each(&:remove)
end
end
我不知道你想要的答案,但我希望這將是幫助別人。
0
從我可以收集,它似乎並沒有看到你的應用程序堅持使用這個輔助數據庫,顯然不存儲模型數據的軌道MVC範例。
我會建議取決於mongo的應用程序的輔助部分,並將它們粘貼到一個庫中。如果在其他地方使用它是有意義的,你可以把它變成寶石。然後,使用標準測試工具爲庫的邏輯創建一個測試套件,並通過簡單的需求或某些指令(取決於它的死亡以及打算如何使用它)將其集成到您的應用程序中。
相關問題
- 1. Ruby Mongo驅動程序 - Find_by_Id
- 2. Ruby Mongo驅動程序:如何查找日期間隔?
- 3. Mongo ruby驅動程序:運行/獲取mongostats/query圖形
- 4. 使用Ruby驅動程序
- 5. Mongo SSL和Java驅動程序
- 6. 哪個C#驅動程序用於Mongo?
- 7. C#Mongo驅動程序 - MongoCollection.Group方法
- 8. Mongo Scala驅動程序2.1 - case class error
- 9. dreamhost上的Mongo PHP驅動程序?
- 10. Mongo C#驅動程序不刪除
- 11. Mongo C#驅動程序對象分配
- 12. 上傳文件到Mongo Atlas用Mongo驅動程序
- 13. 添加:await_data標誌mongo紅寶石驅動程序光標
- 14. 我可以通過ruby驅動程序訪問mongo的geoNear功能嗎?
- 15. 使用SSL通過Ruby驅動程序連接到Mongod返回Mongo :: ConnectionFailure
- 16. 問題的MongoDB的Ruby驅動程序
- 17. 在Mongo C驅動程序中按子字段排序
- 18. 如何在Mongo驅動程序中爲C#排序查詢「orderby」?
- 19. 爲什麼在mongo 2.6上可以使用mongo java驅動程序2.4版本?
- 20. 如何知道Java Mongo驅動程序是否與給定的Mongo Server兼容?
- 21. Mongo C#驅動NullReferenceException與NLog.LogManager.GetCurrentClassLogger()
- 22. 如何使用Mongoid或Mongo Ruby驅動程序從Ruby代碼獲取MongoDB版本?
- 23. 如何在新的C++ Mongo驅動程序中使用光標
- 24. mongo c驅動程序更新嵌套數組
- 25. 與新的Mongo PHP驅動程序的持久連接
- 26. mongo c#驅動程序2.0中的$ in的等價物
- 27. 在Java中使用異步mongo驅動程序
- 28. Mongo-C驅動程序的MongoDB鏈接器錯誤(1.7.0-R2)
- 29. 從C#驅動程序關閉Mongo服務器API
- 30. 玩! 2框架 - 添加Java Mongo驅動程序
你剛剛使用的是純粹的MongoDB驅動程序,還是你有像MongoMapper,Mongoid等ORM?另外,您是否將MongoDB用作模型的持久層,通過GridFS進行緩存,文件等?一些額外的信息將是有用的。 – michaeltomer 2011-04-29 14:40:48
只有紅寶石mongo映射器而不是主數據庫。沒有緩存,什麼都沒有。但是,它代表了節省大量持久數據的應用程序的很大一部分。 – donald 2011-04-29 15:23:28
你在談論一個ployglot體系結構的權利?有些主動記錄模式,其他模式爲mongo文件?我可以證明我是如何用mongomapper做的,感興趣嗎? – oma 2011-05-04 19:15:04