$gt behaves like $gte when using sort with multiple fields
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- databases
Línea de trabajo
Comienza ejecutando la reproducción en JavaScript contra la consulta find de PouchDB con el índice compuesto age/name, comparando los resultados ordenados y sin ordenar. Sigue el recorrido de la consulta que gestiona $gt con múltiples campos de ordenación; se considera terminado cuando la consulta ordenada excluye el documento con age-25 y la regresión reportada está cubierta por una prueba.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
While migrating from CouchDB to PouchDB, I have encountered a potential bug in PouchDB where the behavior of $gt seems to change when a sort field is added to a find query. Without the sort field, $gt works as expected, but when a sort is applied, it behaves like $gte, returning additional documents.
Here is a minimal code example:
const db = new PouchDB("users");
await db.createIndex({
index: { fields: ["age", "name"] },
});
await db.bulkDocs([
{
name: "Lisa",
age: 31,
},
{
name: "John",
age: 25,
},
]);
// Query without sorting
const { docs: docsWithoutSort } = await db.find({
selector: {
age: {
$gt: 25,
},
},
});
console.log("Without sorting:", docsWithoutSort.length); // ✅ Expected: 1
// Query with sorting
const { docs: docsWithSort } = await db.find({
selector: {
age: {
$gt: 25,
},
},
sort: [{ age: "desc" }, { name: "desc" }],
});
console.log("With sorting:", docsWithSort.length); // ❌ Expected: 1, Actual: 2
- Lenguaje dominante
- JavaScript
- Estrellas
- 17.6k
- Forks
- 1.5k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/pouchdb
-
elemMatch throws TypeError: value is null if array has null elementPosiblemente ocupada @henyanagar la tomó hace 145 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
unref event is not documentedAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Validate database namesAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
Todos los issues de apache/pouchdb
Issues similares
-
bug needs-triage potential-regression
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
aws/aws-sdk-js-v3#8408 ·
Los mantenedores suelen responder en 1 día
-
[v3] KeyBindingManager calls (Add/Remove) are not converted into a case-insensitive accelerator.KeyAbiertoBug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 4 días
-
fix(docs): align git__gh troubleshooting with its actual failure pathsPosiblemente ocupada @akhil9tiet la tomó hoy. Abiertobug docs p2
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
vercel/eve#6130 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100