使用mongo mapper获取嵌套的嵌入数据?

时间:2011-06-01 09:54:35

标签: ruby-on-rails ruby mongodb mongomapper

temp = Users.where("posts.comments.id"=>"4de5fdc71d41c824b200005c")

此处'用户'是模型mongo映射器文档

帖子,评论是mongo mapper嵌入式文档。

就像

  

用户 - >帖子 - >评论

评论嵌入式文档有四个字段。哪个是id,message,created_at,updated_at

我只需要将特定的评论数据放入ruby变量中。

temp = Users.where("posts.comments.id"=>"4de5fdc71d41c824b200005c")

当我这样做时,我正在获取外部文档Users

我只需要特定的评论数据

1 个答案:

答案 0 :(得分:0)

您需要$slice

db.users.find({"posts.comments.id":"4de5fdc71d41c824b200005c"}, 
              {posts.comments:{$slice: 1}}) // first matched comment

但我不确定它是否适用于两个级别的数组(user-> posts-> comments)嵌入。