特定の条件に一致するキーのオブジェクトの配列から値を取得しようとしています。配列内のオブジェクトの場合、キーはlongで、値は文字列になります。MondgoDBドキュメントのサンプルは次のとおりです。
"_id" : ObjectId("509eba6d84f30613b4aee1ca"),
"timestamps" : [
{
"1234" : "ABC"
},
{
"2345" : "DEF"
},
{
"3456" : "GHI"
},
{
"4567" : [
"JKL",
"ABC"
]
},
{
"5678" : "GHI"
}
],
"word" : "foo"
たとえば、キーが3000未満であるすべての「タイムスタンプ」エントリの値を取得したいと思います(つまり、上記の「ABC」と「DEF」)。コレクション内のどのドキュメントが特定のキーを持っているかを使用して見つけることができただけですが、coll.find({"timestamps.4567":{$exists:true}})
次のようなことを試しても結果が得られませんcoll.find({"timestamps":{$lt:3000}})
-タイムスタンプのキーが値ではなく3000未満であるかどうかをチェックするものが明らかに欠落していますタイムスタンプ自体の。