Pregunta

¿Cómo puedo hacer algo como:

sort('object.property')

(el objeto se define como tipo 'json' en el modelo)

con línea de flotación?

Tenga en cuenta que estoy usando la última versión estable 0.9.~ que aún no tiene asociaciones.

¿Fue útil?

Solución

Una prueba rápida mostró la sails-mongo El adaptador permite ordenar los atributos JSON de forma inmediata (se accede de forma transparente a la base de datos mongo).

Primero creé un controlador y un modelo en blanco usando:

sails generate foo

Luego definí un data propiedad con tipo json en mi modelo:

module.exports = {
    attributes: {
        data: 'json'
    }
};

Creé varios objetos haciendo un HTTP POST con datos como este (aumenté el valor de clasificación):

{
    "data": {
        "sort": 1
    }
}

Luego busqué mi colección usando esto. GET pedido:

http://localhost:1337/foo?sort=data.sort+desc

lo que internamente resultará en una llamada como

Foo.find().sort('data.sort desc').exec(callback);

La respuesta del servidor ahora está ordenada por la propiedad dada:

[
    {
        "data": {
            "sort": 3
        },
        "createdAt": "2014-04-13T09:35:49.734Z",
        "updatedAt": "2014-04-13T09:35:49.734Z",
        "id": "534a5a7553f1e98e09d1d86b"
    },
    {
        "data": {
            "sort": 2
        },
        "createdAt": "2014-04-13T09:35:45.814Z",
        "updatedAt": "2014-04-13T09:35:45.814Z",
        "id": "534a5a7153f1e98e09d1d86a"
    },
    {
        "data": {
            "sort": 1
        },
        "createdAt": "2014-04-13T09:35:41.958Z",
        "updatedAt": "2014-04-13T09:35:41.958Z",
        "id": "534a5a6d53f1e98e09d1d869"
    }
]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top