Получить вложенные данные с помощью Mongo Mapper? - PullRequest
0 голосов
/ 01 июня 2011

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

Здесь «Пользователи» - это модель документа Mongo Mapper

И сообщения, комментарии являются встроенным документом Mongo Mapper.

Это как

Пользователи -> Сообщения -> Комментарии

Комментарии встроенного документа имеют четыре поля. Которые ID, сообщение, создал_at, updated_at

Мне просто нужно передать эти данные комментариев в переменную ruby.

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

Когда я делаю это, я получаю внешний документ Users

Мне нужны только конкретные данные комментариев

1 Ответ

0 голосов
/ 01 июня 2011

Вам нужно $ slice :

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

Но я не уверен, работает ли он с встраиванием двухуровневых массивов (user-> posts-> comments).

...