我试图在使用Ruby驱动程序的现有文档中嵌入文档。
我的主文档是这样的:
db = Mongo::Connection.new.db("Portfolios")
project_collection = db.collection("Projects")
new_Project = { :url => 'http://www.tekfolio.me/billy/portfolio/focus', :author => 'Billy'}
project_collection.insert(new_Project)
在我创建了我的new_project
并将其添加到我的project_collection
之后,我可能会或可能不会将另一个集合添加到后来称为资产的同一文档中。这就是我被困的地方。下面的代码似乎没有做任何事情:
new_asset = { :image_url => 'http://assets.tekfolio.me/portfolios/68fbb25a-8353-41a8-a779-4bd9762b00f2/projects/13/assets/20/focus2.PNG'}
new_Project.assest.insert(new_asset)
我确信我已经破坏了我对Mongodb和Ruby驱动程序以及嵌入式文档概念的理解,并感谢您的帮助,让我摆脱这个潮湿的纸袋,我似乎无法摆脱;)
您是否尝试过在没有插入的情况下设置资产的值,而是使用更新?
new_Project["asset"] = new_asset
project_collection.update({"_id" => new_Project["_id"]}, new_Project)
我想,您是否试图用资产"更新"new_project记录
它不起作用,因为你只是在ruby中更新哈希,而不是在mongo中,你必须首先在mongo中获得对对象的引用,更新它,然后保存它,检查这个信息:
http://www.mongodb.org/display/DOCS/Updating +数据+在+ Mongo
(如果可以的话,你可以在插入之前分配资源,它应该可以工作)