以下のデータ構造のクラスの名前だけを返すクエリを作成したいと思います。これまでのところ、最も近いのはドット表記を使用することです
db.mycoll.find({name:"game1"},{"classes.1.name":true})
しかし、このアプローチの問題は、最初のクラスの名前しか返さないことです。3 つのクラスすべての名前を教えてください。
以下のようにワイルドカードを使用できればいいのですが、それが存在するかどうかはわかりません。
db.mycoll.find({name:"game1"},{"classes.$*.name":true})
データ構造:
{
"name" : "game1",
"classes" : {
"1" : {
"name" : "warlock",
"version" : "1.0"
},
"2" : {
"name" : "shaman",
"version" : "2.0"
},
"3" : {
"name" : "mage",
"version" : "1.0"
}
}