объединение условий в mongodb - PullRequest
       2

объединение условий в mongodb

0 голосов
/ 02 февраля 2011

Я пытаюсь найти все сообщения пользователя или его друзей ...

Пока у меня есть это

Activity.any_of({"user_id" => 1}, {"for_id" => 1}, {"comments.user_id" => 1})

Теперь, как мне добавить к этому условие, что user_id может быть любым, кто является другом пользователя ... будет делать эту работу?

Activity.any_of({"user_id" => 1}, {"for_id" => 1}, {"comments.user_id" => 1}).any_in("user_in" => [1,2])

1 Ответ

1 голос
/ 27 июня 2011

Не уверен, как это сделать в рельсах, но запрос, который вы ищете: либо:

db.posts.find({$or:[{user_id:1}, {user_id:{$in:[friend_id1, friend_id2,.. friend_idn]}}]})

Или немного проще, объедините ваш идентификатор пользователя и идентификаторы вашего друга в один список и выполните

db.posts.find({user_id:{$in:[user_id, friend_id1, friend_id2,.. friend_idn]}})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...