我有如下结构:
thread {
messages [
{
sender_id: AB12CD34,
...stuff...
},
{
sender_id: EF56GH78,
...stuff...
}
]
}
我想查询FIRST消息的sender_id是id集合的一部分的线程。有点像...
def threads_started_by_users user_ids
any_in('messages:first.sender_id', user_ids)
end
这样的事情的正确语法是什么样的?这样的查询是否可行?
答案 0 :(得分:1)
我不会说mongoid,但是你可以在shell中执行此操作:
db.coll.find({'thread.messages.0.sender_id': {$in: user_ids}})
密钥名称中的0
标识messages
数组的第一个元素。