MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

consulta mongodb para corresponder cada elemento na matriz doc a uma condição


Eu não acho que haja alguma maneira de fazer isso ainda, além de iterar manualmente seus documentos e verificar cada valor na matriz. Isso será bastante lento porque precisa executar JavaScript em cada documento e não pode tirar proveito de nenhum índice sobre col.values .

Até um $onde A consulta de expressão JavaScript não parece funcionar aqui porque, possivelmente porque a consulta contém um retorno de chamada e é muito complexa:
db.col.find("this.values.every(function(v) { return (v > 1 && v < 5) })")



Editar: Para algumas consultas, incluindo esta, o JavaScript $onde expressão precisa de uma instrução de retorno, então isso funciona bem:
db.col.find("return this.values.every(function(v) { return (v > 1 && v < 5) })")