Я использую драйвер mongodb из https://github.com/ankhers/mongodb для запроса базы данных mongodb в проекте эликсира / феникса. В другом вопросе я спросил о том, как запросить вложенные jsons. Другая проблема заключается в том, как запросить вставленные документы. Например, я могу сделать следующее в python
date_=db['posts']['name'][name]['date'][date]
Здесь «posts» - это название коллекции, а остальные - вставленные документы. Например, один документ «дата» был вставлен через:
db['posts']['name'][name].insert_one({"date":date})
Когда я хочу получить все вставленные даты в python, я могу сделать
date_list=[]
def get_date(db):
db_posts_name=db['posts']['name'][name]
for date_query in db_posts_name.find():
date_list.append(date_query["date"])
Но я при потере эликсира / феникса, чтобы сделать то же самое, потому что, если я делаю что-то вроде
list =
:mongo
|> Mongo.find("posts", %{})
|> Enum.fetch(4)
|> elem(1)
|> Map.fetch("name")
|> elem(1)
new_list =
:mongo
|> Mongo.find("posts", %{"name" => list})
another_list=new_list.find("date",%{})
, я получаю ошибку
Called with 3 arguments
%Mongo.Cursor{coll: "posts", conn: #PID<0.434.0>, opts: [slave_ok: true], query: %{"name" => name}, select: nil}
:find
[]
Есть ли способ сделать это?