2017-05-19 17 views
0

以下は、私のコレクションの構造である3コレクション、画像、カテゴリやタグを持つArangoDBクエリが

私は「牛」のようなキーワード(FULLTEXT検索を)持っているすべての「画像」をフィルタリングすると、 "動物"カテゴリに属し、 "写真"とタグ付けされました

このフィルタはArangoDBでどうすればできますか?nodejs/foxxを使用しています。助けてください。ここで

image{ 
filename:"myphoto.jpg", 
filepath:"/opt/data/949b3e6194bf6f0ef3eb367a615826f8" 
categories:[category/6401, category/6402], 
tags:[tags/1002], 
keywords:"photo green cow" 
} 

category{ 
    _id:'category/6401', 
    name:"animals" 
} 

category{ 
    _id:'category/6402', 
    name:"living things" 
} 

tags{ 
    _id:'tags/1002', 
    name:"photo" 
} 

tags{ 
    _id:'tags/1003', 
    name:"colors" 
} 

答えて

0

要求:

FOR i IN FULLTEXT(image, "keywords", "cow") // First search for fulltext 
    FOR cat IN category // Then Loop on all categories 
    FILTER cat.name == "animals" // Filter by name 
    FILTER POSITION(i.categories, cat._id) == true // Join 
    FOR tag IN tags // Then Loop on all tags 
     FILTER tag.name == "photo" // Filter by name 
     FILTER POSITION(i.tags, tag._id) == true // Join 
     RETURN i // Return all images found 

あなたはあなたのimage.keywordsフィールドに設定し、フルテキストインデックスを持っている必要があります

+0

ありがとうございました、私は感謝し、これを試してみて、あなたはそれが動作 – Gireesh

+0

をお知らせします君は。 – Gireesh