У нас есть User
данные, сохраненные в MongoDB. Клиент дает запрос JSONPath для запроса отфильтрованного набора пользователей.
Например:
$.users[@.salary > 10000]
- это запрос JSONPath , заданный для извлечения пользователей с зарплатой, превышающей 10000.
Данные:
"users": [ {
"firstName": "John",
"lastName" : "doe",
"age" : 26,
"salary" : 5000,
"address" : {
"streetAddress": "naist street",
"city" : "Nara",
"postalCode" : "630-0192"
},
"phoneNumbers": [
{
"type" : "iPhone",
"number": "0123-4567-8888"
},
{
"type" : "home",
"number": "0123-4567-8910"
},
........
]
}
Принимая во внимание, MongoQuery для того же будет:
db.inventory.find( { salary: { $gt: 10000 } })
У нас есть код приложения на Java, который подключается к MongoDB.
Можно ли как-нибудь запустить этот запрос JSONPath непосредственно к MongoDB ??
Использование запроса Mongo означало бы перевод запроса JSONPath в MongoQuery, что было бы громоздким переводом в коде. Очень грубым методом было бы сначала получить всех пользователей в AS (приложение), а затем преобразовать List<Document>
в строку Json и затем выполнить запрос JSONPath.
Буду признателен за любую помощь.