2011-10-20 4 views
1

Rubyドライバを使用して既存のドキュメントにドキュメントを埋め込もうとしています。私は私のnew_projectを作成し、私はしてもしなくてもよい以降の資産と呼ばれる、同じドキュメントに別のコレクションを追加することが私のproject_collectionにそれを追加した後MongoDB用の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_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ドライバーおよび埋め込ま文書の概念の私の理解を虐殺しましたし、この湿ったから私を取得あなたの助けをいただければ幸いです確信しています紙袋は、私は外のように見えることはできません。)

答えて

1

あなただけの挿入せずに、資産の値を設定し、代わりに更新を使用してみましたか?

new_Project["asset"] = new_asset 
project_collection.update({"_id" => new_Project["_id"]}, new_Project) 
+0

私は承認を得ていますか? – allingeek

1

私が思うに、あなたはハッシュだけを更新しているので、あなたが「更新」にそれが動作しない資産

とnew_project記録をしようとしていますルンゴではなく、モンゴでは、最初にモンゴのオブジェクトへの参照を取得し、それを更新してから保存しなければなりません。

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

(可能な場合は、あなたが挿入する前に資産を割り当てることができ、それが動作するはずです)

関連する問題