私は現在、ユース ケースのさまざまなデータベースの効率を評価しています。Mongodb では、次の構造で約 100 万個のオブジェクトを格納したいと考えています。各オブジェクトは、foo 配列に 5 ~ 10 個のオブジェクトを持ちます。
{
name:"my name",
foos:[
{
foo:"...",
bar:"..."
},
{
foo:"...",
bar:"..."
},
{
foo:"...",
bar:"..."
}
]
}
foos コレクションに特定のプロパティを持つオブジェクトが含まれているオブジェクトを検索する必要があることがよくあります。
// mongo collection
[
{
name:'my name',
foos:[
{
foo:'one_foo',
bar:'a_bar'
},
{
foo:'two_foo',
bar:'b_bar'
}
]
},
{
name:'another name',
foos:[
{
foo:'another foo',
bar:'a_bar'
},
{
foo:'just another foo',
bar:'c_bar'
}
]
}
]
// search (pseudo code)
{ foos: {$elemMatch: {bar: 'c_bar'}} }
// returns
{
name:'another name',
foos:[
{
foo:'another foo',
bar:'a_bar'
},
{
foo:'just another foo',
bar:'c_bar'
}
]
}
これはmongoで効率的に行うことができますか?インデックスはどのように設定する必要がありますか? 私のユースケースでmongoがどのように機能するか、または最適化がどのように見えるかについてのアイデアだけです。