Интерпретатор MongoDB для Zeppelin использует тот же синтаксис, что и mongo
оболочки: db.collection.find(query, projection)
.
Ваш первый параметр {}
соответствует всем документам. Второй параметр будет интерпретироваться как проекция (хотя ваш синтаксис излишне сложен).
Поскольку $eq
эквивалентно {field: "value"}
и у вас есть только одно значение, ваш запрос может быть более четко выражен как:
db.${collection=none}.find({ ${key=none}: "${value=none}" }).table()
Если вы намереваетесь предоставить более общую форму ввода (вместо того, чтобы запрашивать одну пару ключ / значение), вы можете вместо этого заменить запрос и проекцию, например:
empty = {} // Placeholder for empty documents
db.${collection=none}.find(${query=empty},${projection=empty}).table()
Во втором примере ваш запрос будет выражен как { field: "value" }
в форме ввода Zeppelin. Вы также можете указать дополнительные критерии запроса и прогноз для полей, которые будут включены в результаты.