2015-12-15 2 views
0

Данный пример документов в RethinkDB как следующийrethinkdb-эликсира клиент: Фильтр на основе наличия значения в массиве

[{id: "1", tags: ["alpha", "bravo", "charlie"]}, 
{id: "2", tags: ["delta", "echo", "foxtrot"]}] 

Я знаю, что могу легко фильтровать в массиве тегов с помощью проводника данных RethinkDB как так:

r.db("mydb").table("mytable").filter(r.row("tags").contains("delta")); 

Однако я застрять при попытке использовать rethinkdb-эликсира клиента. Я думал, что следующий будет восстановить его:

q = Query.table("mytable") 
q = Query.filter(q, %{tags: Query.contains(q, "delta")}) 

Я тогда подумал, что функция будет работать следующим образом:

q = Query.filter(q, lambda fn (doc) -> 
    # ??? 
end) 

, но мне кажется, что столкнулся в тупик в этой точке.

Спасибо за помощь!

ответ

0

Большое спасибо основной вклад в rethinkdb-эликсира РЕПО для предоставления ответа:

q = Query.filter(q, lambda fn (doc) -> 
    doc["tags"] |> contains("delta") 
end)