と子要素を選択すると、私はmongoid
参加者は...それぞれ「Had_drinkは」埋め込まれたシングル「フォト」オブジェクトを持つ可能性を(常にではない)があり、多くの「Had_drinks」オブジェクトが埋め込まれているだろうな構造を持っていますその中に...
私は写真のIDを持っていて、写真のオブジェクト全体を引き出したいと思います。ドキュメントのルートは、下の2人の参加者がそれぞれ一つだけ、この例では「had_drink」と最初の参加者を持っている彼ら
{
_id: "4f0ecfe57e65260001000002",
had_drinks: [
{
_id: "4f0ed1357e65260001000004",
at: "2012-01-07T00:00:00-08:00",
beer_id: "4f0ed1357e65260001000003",
cost: 3.5,
location: "Quakers",
photo: {
photo_id: "66832993035",
page_url: "http://www.flickr.com/photos/[email protected]/66832993035/",
square_url: "http://farm8.staticflickr.com/7035/668a3993035_fb180e39648_s.jpg",
thumbnail_url: "http://farm8.staticflickr.com/7035/6sad683993035_fb65180e9648_t.jpg",
small_url: "http://farm8.staticflickr.com/7035/66839asd93035_fb1s80e9648_m.jpg",
medium_url: "http://farm8.staticflickr.com/7035/668s3993035_fb18h0e9648.jpg",
large_url: "http://farm8.staticflickr.com/7035/66839v93035_fb180e9648_b.jpg",
original_url: null
},
rating: "4",
uploaded_at: "2012-01-12T04:25:25-08:00"
}
],
mongoid_user_id: "4f0ecf3e57e65260001000001",
name: "Michael Mark"
},
{
_id: "4f08aa477eddd05000100000c",
had_drinks: [
{
_id: "4f0ff0513942d4e000100000b",
at: "2012-01-07T030:00:00-08:00",
beer_id: "4f0ff0561394d74e0001000009",
cost: 4.1,
location: "Bootleggers",
photo: null,
rating: "3",
uploaded_at: "2012-01-13T030:50:25-08:00"
}
],
mongoid_user_id: "4f08aa477e34ddd0000100000b",
name: "Daniel M"
},
と一緒に写真を持っている...ここで
は構造の一例である参加者から始まりますどのように写真を撮ることができますか? 私はmongoidとドキュメントデータベースを短時間で学んだので、ルートからクエリを開始して作業する必要がありますか?
私は、私は次のクエリ を行う必要があると思いを通してそれを考えるEDIT :) ----このParticipant.where(:had_drinks.where(:photo.photo_id => params[:id]))
ような何かをしようが、私はマイルこれまで
オフだと思った
1:この写真
2で任意の参加者を取得します:最初の参加者
を選択3:このID
4で写真に自分絞り込む:最初の写真を選択します(唯一実際に今までとなります1)
私の限られたmongoid/MongoDBの知識
で、そのクエリを実行する方法だけでわかりません
満たす条件が1つしかない場合は、 '$ elemMatch'は必要ありません。 –
@SergioTulentsevはそれを知らなかった - ありがとう。 –