Mongodb получает определенное поле для java

У меня есть коллекции с именами пользователей, и я хочу получить конкретную запись о широте и долготе. В оболочке mongodb я добился желаемого результата, набрав это;

db.users.find({},{latitude:1,longitude:1})

Но в java у меня ничего не вышло. Что я сделал в java, так это:

List<Document> results = db.getCollection("users").find(eq("latitude":1,"longitude",1))

Итак, есть ли у кого-нибудь идея решить эту проблему?

вот структура моей коллекции;

{ "_id": "2", "username": "", "password": "", "firm": "SpringSource", "roles": [ "client" ], "items": [ { "_id": "030b0b88-9b9b-4886-b78e-32ec8cd0abe9", "item-id": "1111", "item-name": "Tea latte", "price": 11111, "quantity": 11 }, { "_id": "b320d345-630f-4068-8b50-63313b7d201b", "item-id": "2222", "item-name": "Mint Tea", "price": 2222, "quantity": 2222 }, { "_id": "d51e5391-5741-4d33-a481-4139df4ffa0e", "item-id": "3333", "item-name": "Black Tea", "price": 3333, "quantity": 33 }, { "_id": "961f52a3-d0d3-45e9-a1cb-475d2c9b272f", "item-id": "4444", "item-name": "Green Tea", "price": 4444, "quantity": 444 } ], "latitude": "39.909062", "longitude": "32.778401" }, { "_id": "3", "username": "", "password": "", "firm": "RedHat", "roles": [ "client" ] }, { "_id": "1", "username": "", "password": "", "firm": "SpringSource", "roles": [ "admin", "client" ], "items": [ { "_id": "79c35305-54d1-477e-957d-782f4bf2145a", "item-id": "11111", "item-name": "Americano", "price": 111, "quantity": 11 }, { "_id": "5c7e03eb-1fde-4932-a2bc-94a2f002b382", "item-id": "2222", "item-name": "Filter Coffee", "price": 2222, "quantity": 22 }, { "_id": "a413c06c-4242-4b30-80a9-62e7d7b84fb3", "item-id": "3333", "item-name": "tea", "price": 33333, "quantity": 44444 } ], "latitude": "39.877619", "longitude": "32.682537" }

Ваш оператор java не выглядит как действительный Java из-за этой точки с запятой. Это ошибка компиляции, что ли?

Compass 03.01.2019 15:45

Пожалуйста, объясните, что именно происходит при запуске вашего кода.

Steve11235 03.01.2019 15:49

@ Steve11235 на самом деле, это спокойный вызов api, поэтому я не компилирую код, но когда я делаю спокойный вызов GET, он все возвращает.

eccck 03.01.2019 15:55

@Compass точка с запятой забыта в комментариях, но существует в java-коде. По сути, моя проблема заключается в том, чтобы найти одинаковый оператор оболочки в java. Команда оболочки: "db.users.find ({}, {широта: 1, долгота: 1})".

eccck 03.01.2019 16:44

Проекции stackoverflow.com/questions/6568910/… решили мою проблему.

eccck 03.01.2019 16:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
309
0

Другие вопросы по теме