0

是的,我知道如何建立多对多关系,但没有别的。我进行了谷歌搜索并阅读了官方 mongoid 文档,但我对如何使用它一无所知。工作是指插入、更新、删除、查找、计数……

例如,假设我有 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 我使用 Sinatra 和 mongoid 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") 

更新

来自关于persistence的文档,针对 band/tags 示例进行了修改。

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

数数

来自关于querying的文档,其中还包含对此处其他项目有用的信息(也已修改)。

band.tags.length

删除

这也来自持久性文档。

# we will delete the tag from earlier
tag.delete

最后

工作 Mongoid 所需的所有信息都在docs中,实际上非常详尽和有用。肯定有很多,但你可以在几个小时内完成它。

于 2012-11-09T00:59:34.403 回答