[英]Match an attribute in an array on a vertex in ArangoDb using Python
我有頂點[a]的文檔,它與文檔[b]的頂點有一個邊界,我想知道如何遍歷頂點數組[a]:
[a]: {"name": "Tom", "age": 30, "colors": ["green", "blue", "red"]}
[b}: {"city", "NY"}
我正在嘗試如下:
mydb.execute_query cursor = (
"""
FOR i IN GRAPH_NEIGHBORS (
'my_graph', 'citys/ny',
{neighborExamples: {colors: 'green'}}
) RETURN i
"""
)
for doc in cursor:
print (doc)
但不回報任何東西! 如果我嘗試除數組以外的其他屬性,它可以正常工作。
現在GRAPH_NEIGHBORS()僅支持示例的相等比較。 您要查詢的是“綠色”IN顏色。 現在只能通過后過濾表示。 像這樣:
mydb.execute_query cursor = ( """
FOR i IN GRAPH_NEIGHBORS ('my_graph', 'citys/ny', {})
FILTER 'green' IN i.colors RETURN i
""" ) doc is in cursor:
print (doc)
應該給你想要的結果。
感謝mchacki和dothebarth,你讓我意識到除了向我展示我如何進行搜索之外,還間接地向我展示了我使用了錯誤的功能。 我做了下面的代碼,運行得很好。 謝謝!
cursor = mydb.execute_query(
"""
FOR i IN GRAPH_VERTICES(
'my_graph',
{city:'NY'},
{}
)
FILTER 'green' IN i.colors
RETURN i.name
"""
)
for doc in cursor:
print(doc)
>>"Tom"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.