Cómo utilizar $ mes como parte de los operadores lógicos en MongoDB en Java?

votos
0

Tengo un documento {_id: abc, orderdate:(ISO date), quantity:10} y estoy tratando de llegar a la consulta en Java en el que la búsqueda de todos los documentos con los pedidos en un mes dado que quantityes > 5 Ej:select * from documents where month(orderdate)=Jan and quantity>5

Puedes por favor ayudarme a escribir esta consulta en Java?

Publicado el 19/09/2018 a las 17:03
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

Después de pasar a través de la búsqueda por mes en MongoDB

Aprendí acerca de $ expr db.customer.find({ "$expr": { "$eq": [{ "$month": "$bday" }, 9] } })y se convierte en

db.getCollection('customer').find({
"$and":[{"$expr": { "$eq": [{ "$month": "$bday" }, 9] }},{"firstName":"John"}]
})

y luego obtener el código de Java utilizando

Document.parser("db.getCollection('custoer').find({"$and":[{"$expr": { "$eq": [{ "$month": "$bday" }, 9] }},{"firstName":"John"}]})")

al final el código de Java parece

Filters.and(Arrays.asList(Filters.expr(new Document().append("$in", Arrays.asList(new Document().append("$month", "$bday"),9))),Filters.eq("firstName","John")))

Respondida el 19/09/2018 a las 19:14
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more