ドリルのSELECT ... WHEREフィールドIN(値)を実行する必要があるサンプルに対して、次のドキュメント構造を使用します。Apacheドリルクエリmongo配列IN()演算子を使用するフィールド型
db.getCollection('xxx').find({'USUARIO.PUBLICOALVO': {$in: [ 84, 85, 90, 94, 500 ]}})
それがINリストの()comparsionですべてのドキュメントを返し、正常に動作します:
{ "CD_MATRICULA" : 12,
"USUARIO" : {
"ID_SITUACAO" : 1,
"PUBLICOALVO" : [ 84,85,86,87,88,89 ]
}
},
{ "CD_MATRICULA" : 14,
"USUARIO" : {
"ID_SITUACAO" : 1,
"PUBLICOALVO" : [ 90,91,92,93,94 ]
}
},
{ "CD_MATRICULA" : 122,
"USUARIO" : {
"ID_SITUACAO" : 0,
"PUBLICOALVO" : [ 20,300,400,500,600 ]
}
}
するUSUARIO.PUBLICOALVO値によってドキュメントを検索するには、私は次のMongoのクエリを使用することができます。メッセージで、
SELECT * FROM xxx WHERE xxx.USUARIO.PUBLICOALVO IN(84, 85, 90, 94, 500);
しかし、このクエリは失敗します:私はDRILLのSQLで同じMongoのクエリを実行しようとすると、
しかし、私はこれを行う
Error in expression at index -1. Error: Missing function implementation: [equal(INT-REPEATED, INT-REQUIRED)]. Full expression: --UNKNOWN EXPRESSION--.
どのように私ができますフィルタIN()のこのキングをドリルSQL構文で記述しますか?
おかげでたくさん