MongoDB tags 嵌入 post

xiaoronglv · November 01, 2012 · Last by Rei replied at November 01, 2012 · 2516 hits

如果 tag(4d3ed089fb60ab534684b7e0)已经嵌入到 post(4d3ed089fb60ab534684b7e9),其他 post 是不是就无法嵌入这个 tag 了?

model

class Post
  include Mongoid::Document
  field :title, :type =>  String
  field :body, :type =>  String
  field :tags, :type =>  Array
  embeds_many :tags
end
class Tag
  include Mongoid::Document  
  field :tag, :type =>  String
  field :type, :type =>  String
  embedded_in :post
end

storage

{
  "_id" : ObjectId("4d3ed089fb60ab534684b7e9"),
  "tags" : [
    {
      "_id" : ObjectId("4d3ed089fb60ab534684b7e0"),
      "name" : "Violator",
    }
  ]
}
  1. 可以
  2. 直接 "tags": ["Violator"] 不就好了嘛

#1 楼 @Rei 那 model 该如何写呢。


看了 code_campo,topic 与 tags 的 model 中没有声明关系。

#2 楼 @xiaoronglv Tag model 是拿来储存统计信息的,平时 Topic 加 Tag 和读取 Tag 都是字符串,不用调用 Tag model。

field :tags, :type => Array, :default => []

You need to Sign in before reply, if you don't have an account, please Sign up first.