次のようなエントリのコレクションがあります。
{
"userid": 1,
"contents": [
{ "tag": "whatever", "value": 100 },
{"tag": "whatever2", "value": 110 }
]
}
そのコレクションに対してクエリを実行し、配列の一部のみを返すことができるようにしたいと思います:クエリに一致するものです。$ 位置演算子を使用してそうしようとしていますが、これまでのところ機能していません。
より正確には、私がやりたいことは次のとおりです。
collection.find({'contents.tag':"whatever"},{'contents.$.value':1})
その結果、query に一致した配列内のエントリに対応する値 (この場合は 100) のみを持つ sth が期待されます。
何が悪いかわかりますか?$ 演算子は更新にのみ使用でき、クエリには使用できないのではないかと考えていました。知っている人はいますか?
ありがとう !