0

私は次のような構造を持っています:

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

そのようなものの適切な構文はどのようになりますか? そのようなクエリはまったく可能ですか?

4

1 に答える 1

1

私はモンゴイドを話せませんが、シェルでこれを行う方法は次のとおりです。

db.coll.find({'thread.messages.0.sender_id': {$in: user_ids}})

0キー名の は、配列の最初の要素を識別しますmessages

于 2013-08-05T21:02:16.137 に答える