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)

my を作成して mynew_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 ドライバーと埋め込みドキュメントの概念についての理解を打ち砕いたと確信しています。

4

2 に答える 2

1

挿入せずにアセットの値を設定し、代わりに更新を使用してみましたか?

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

アセットで new_project レコードを「更新」しようとしていると思います

mongoではなくrubyでハッシュを更新するだけなので、機能しません。最初にmongoでオブジェクトへの参照を取得し、更新してから保存し、この情報を確認する必要があります。

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

(可能であれば、挿入する前にアセットを割り当てることができ、それは機能するはずです)

于 2011-10-20T18:12:41.920 に答える