ste*_*els 10 ruby mongodb mongoid
我有一个包含嵌入标签的Post文档.有时我只显示帖子的标题及其标签.在这些情况下,我在mongoid中使用以下查询:
Post.only(:title).find(id)
Run Code Online (Sandbox Code Playgroud)
然后我将查询结果作为json发送给客户端.不幸的是,标签的bson id使得json比我需要的大得多.如何从查询中排除"_id"字段?
这是我的模特:
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
Run Code Online (Sandbox Code Playgroud)
the*_*RON 15
你需要使用Mongoid的without方法.像这样的东西应该做的伎俩:
Post.without(:_id, :body, "tags._id")
Run Code Online (Sandbox Code Playgroud)
这将仅返回您的所有帖子标题,以及所有嵌入标签,并且不会_id为帖子或标签返回任何字段.
我还注意到你已经field :tags, :type => Array在Post模型上定义了 - 我认为这是多余的.使用embeds_many自动为您填充的集合.
| 归档时间: |
|
| 查看次数: |
3219 次 |
| 最近记录: |