1

我正在尝试使用 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)

在我创建了 mynew_project并将其添加到 my之后,project_collection我可能会也可能不会将另一个集合添加到稍后称为 assets 的同一文档中。这就是我卡住的地方。以下代码似乎没有做任何事情:

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 驱动程序以及嵌入式文档概念的理解,并且希望你能帮助我摆脱这个我似乎无法摆脱的湿纸袋;)

4

2 回答 2

1

我想,你是否试图用资产“更新” new_project 记录

它不起作用,因为那时你只是在 ruby​​ 中更新哈希,而不是在 mongo 中,你必须首先在 mongo 中获取对对象的引用,更新它,然后保存它,检查这个信息:

http://www.mongodb.org/display/DOCS/Updating+Data+in+Mongo

(如果可以,您可以在插入之前分配资产,它应该可以工作)

于 2011-10-20T18:12:41.920 回答
1

您是否尝试过只设置资产的值而不插入而不使用更新?

new_Project["asset"] = new_asset
project_collection.update({"_id" => new_Project["_id"]}, new_Project)
于 2011-10-21T03:38:09.310 回答