0

はい、私は多対多の関係を作成する方法を知っていますが、他には何もありません。私はグーグル検索をして公式のモンゴイドドキュメントを読みましたが、それをどのように扱うかについては何もしませんでした。仕事とは、挿入、更新、削除、検索、カウントを意味します...

たとえば、2つのモデル(ドキュメントから)があるとします。

class Band
  include Mongoid::Document
  has_and_belongs_to_many :tags
end

class Tag
  include Mongoid::Document
  field :name, type: String
  has_and_belongs_to_many :bands
end

上記のすべての操作を行うにはどうすればよいですか?

PS私はシナトラとモンゴイド3を使用しています。

4

1 に答える 1

1

挿入

サンプルモデルの直後のドキュメント表(および私のコメント)から。

# Create a tag for a band
band.tags.create(name: "electro")

見つける

同じテーブルからも。

# Find a tag that belongs to that band, whose name is "electro"
tag = band.tags.where(name: "electro") 

更新

永続性に関するドキュメントから、バンド/タグの例に合わせて変更。

# using variable tag from previous line.
tag.update_attributes(name: "dubstep")

カウント

クエリに関するドキュメントから。ここには、他のアイテムに役立つ情報も含まれています(これも変更されています)。

band.tags.length

削除

これも永続性ドキュメントからのものです。

# we will delete the tag from earlier
tag.delete

最後に

Mongoidを動作させるために必要なすべての情報は、実際には非常に徹底的で有用なドキュメントにあります。確かにたくさんありますが、数時間でそれをやり遂げることができます。

于 2012-11-09T00:59:34.403 に答える