我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。
关闭6年前。
在 Rails 中使用 MongoID 进行标记有什么好的解决方案?
似乎向文档中添加哈希或数组非常简单,但我不确定这是否是最好的方法。
也许是一些 gem ?还是嵌套文档的简单技巧?
最佳答案
目前,我使用了一种非常简单的方法,效果很好:只需包含一个 Array
字段。
#app/models/image.rb
class Image
include Mongoid::Document
include Mongoid::Timestamps
field :message, :type => String
field :tags, :type => Array
def self.images_for tag
Image.any_in(:tags => [tag])
end
end
#routes.rb
match "tag/:tag" => "images#tag"
#/app/controller/images_controller.rb
class ImagesController < ApplicationController
# GET /tag
# GET /tag.xml
def tag
@images = Image.images_for params[:tag]
respond_to do |format|
format.html { render "index" }
format.xml { render :xml => @images }
end
end
end
这可行,但我对 Image.any_in map/reduce 的性能仍然有些怀疑。我认为该 map/reduce 可能有更好的解决方案,但尚未找到。
https://stackoverflow.com/questions/5457831/
相关文章:
mongodb - 当数据库大小大于 RAM 时,MongoDB 可以工作吗?
javascript - MongoDB/ Mongoose : MarkModified a ne
mongodb - MongoError : The $subtract accumulator i
javascript - Meteor.js 使用 X509 证书身份验证连接到 Mongo
java - 哪个是 mongodb 访问的最佳 java 驱动程序?
c# - 如何通过使用 MongoDB C# 驱动程序调用 obj.ToBsonDocument()
java - MongoRepository findByCreatedAtBetween 没有返回
arrays - 如何遍历 Reactjs 中的表格行和单元格