Consulta nativa de MongoDB con regación de consulta en Java -- java campo con mongodb campo con mongodb-query campo con spring-mongodb campo con spring-mongo camp Relacionados El problema

MongoDB native query with Aggreagtion to query in Java


2
vote

problema

Español

Tengo consulta nativa de Mongo

  createOperator111  


ReposIROTY

  createOperator2  


Lo intenté como este

  createOperator3  


pero tengo un error

  createOperator4  


Parece que debo ser un cambio a la consulta de agregación, pero todavía no lo he trabajado con él.

Actualización
Crear agregación

  createOperator5  


Pero me devuelve todos los elementos de la recolección por creados.

Original en ingles

I have native Mongo query

[ {     $match: {         createdById: "5c3cac81989a8469d435f3b2"     } }, {     $group: {         _id: "$uID",         latest: {             $max: "$latest"         },         createdById: {             $first: "$createdById"         }     } } ] 


Reposiroty

Page<NetworkObject> findByCreatedById(String userId, Pageable pageable); 


I tried such like this

@Query(value = "[ {'$match': {'createdById': ?#{[0]} }}, {'$group': {'_id': '$uID', 'latest': {'$max': '$latest'}, 'createdById': {'$first': '$createdById'}}}]" Page<NetworkObject> findByCreatedById(String userId, Pageable pageable); 


but i have an error

org.bson.BsonInvalidOperationException: readStartDocument can only be called when CurrentBSONType is DOCUMENT, not when CurrentBSONType is ARRAY. 


seems that i must be changet to Aggregation query but i dont worked with it yet.

Update
Create Aggregation

Aggregation aggregation = newAggregation(match(Criteria.where("createdById").is(userId)),                 group(fields("uID").and("latest","$latest")                         .and("createdById","$createdById"))                         .max("$latest").as("latest")                         .first("$createdById").as("createdById"));         AggregationResults<NetworkObject> results = mongoTemplate.aggregate(aggregation,"NetworkObject",NetworkObject.class);         List<NetworkObject> objects = Optional.of(results.getMappedResults()).get(); 


But it returns me all collection elements by createdById.

              
 
 

Lista de respuestas


Relacionados problema

0  Embedded Mongo: Sesión no es compatible con el problema de Mongo Cluster  ( Embedded mongo session not supported by mongo cluster issue ) 
Estoy trabajando en las pruebas de la unidad utilizando Mongo incorporado. Es capaz de conectarse a Mongo en el puerto aleatorio, pero al ejecutar la prueba e...

2  Spring Mongodb: Criterios Métodos Acceso no estático  ( Spring mongodb criteria methods non static access ) 
Estoy escribiendo una consulta dinámica de mongodb usando <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://sch...

3  ¿Cómo obtener el valor de campo máximo en la colección?  ( How to get max field value in collection ) 
Tengo colección con nombre data en Mongo DB. Declaración de documentos en el modelo de primavera lools como: @Document(collection = "data") public clas...

1  Consulta dinámica en mongodb con constructor de consultas  ( Dynamic query in mongodb with query builder ) 
Tengo un formulario de búsqueda para buscar casas en mi aplicación web. Formulario tiene los siguientes campos, mp<-barplot(as.matrix(t(df[,2:4])),beside=T...

2  Morfia, incrusta Mongo y primavera. Dirección ya en uso  ( Morphia embed mongo and spring address already in use ) 
Estoy intentando usar MongoDB, Morfia y primavera y probarlo, así que comencé a usar Mongo incrustado. Cuando solo tuve un Dao para persistir, sin embargo, ...

5  Descanso de datos de primavera / Punto final de búsqueda con tipos GEO MONGODB (Círculo, Punto)  ( Spring data rest search endpoint with mongodb geo types circle point ) 
Intento implementar una búsqueda basada en la ubicación con el resto de datos de resortes y MongoDB. En primer lugar creé un modelo. foo4 En segundo lug...

2  Comprender la autenticación y la gestión de sesiones utilizando la bota de primavera  ( Understanding authentication and session management using spring boot ) 
He hecho un proyecto de arranque de primavera con Mongo DB como backend. Quiero asegurarme de que los usuarios sean autenticados y autorizados mientras se man...

2  Datos de primavera para mongodb  ( Spring data for mongodb ) 
Estoy usando mongodb with spring mvc para una API de descanso. Tengo un controlador que agrega comentarios para eventos. Este controlador utiliza un método ...

1  Mongotemplate Cómo incluir campos específicos de DBREF  ( Mongotemplate how to include specific fields of dbref ) 
Hola, tengo una estructura llamada problema que tiene el capítulo internamente, el capítulo ha dBREF a la bibledio y la bibliedad tiene DBREF para reservar ...

1  Datos de primavera Plantilla reactiva de Mongo: MONGODB CURSOR  ( Spring data reactive mongo template mongodb cursor ) 
¿Cuál es la forma recomendada de iterar en un resultado grande con la plantilla reactiva de Mongo? No puedo encontrar una alternativa reactiva para la opera...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos