「users」というコレクションに次のドキュメント スキーマがあるとします。
{
name: 'John',
items: [ {}, {}, {}, ... ]
}
'items' 配列には、次の形式のオブジェクトが含まれます。
{
item_id: "1234",
name: "some item"
}
各ユーザーは、'items' 配列に複数のアイテムを埋め込むことができます。
ここで、特定のユーザーの item_id でアイテムを取得できるようにしたいと考えています。
たとえば、「John」という名前のユーザーに属する ID「1234」のアイテムを取得したいとします。
mongoDBでこれを行うことはできますか? その強力な配列インデックスを利用したいのですが、埋め込まれた配列に対してクエリを実行し、それを含むドキュメントではなく配列からオブジェクトを返すことができるかどうかはわかりません。
{users.items.item_id: "1234"} を使用して、特定のアイテムを持っているユーザーを取得できることを知っています。しかし、ユーザーではなく、配列から実際のアイテムを取得したいと考えています。
または、このデータを整理して、必要なものを簡単に取得できるようにするためのより良い方法はありますか? 私はまだmongodbにかなり慣れていません。
あなたが提供できる助けやアドバイスをありがとう。