2014-02-14 42 views
0

我有一個集合做一個查詢有:

{name : 'hello', tags : ['foo', 'bar']} 
,{name : 'world', tags : ['space', 'bar']} 
,{name : 'galaxy', tags : ['foo', 'space']} 

    ,attributes: { 
     ,name: { 
      type: 'STRING' 
      ,required : 'string' 
     } 

     ,tags: { 
      type: 'ARRAY' 
      ,required : 'array' 
     } 
    } 


}; 

我嘗試,但它不工作:

myCollection.find().where({tags: ['space' ,'foo']});s 

怎麼辦你做的搜索具有特定標籤的所有項目?

感謝您

+0

只要我把我的手放在我的個人開發機器上,我就會深入探討。在此期間,您可以參考以下記錄的Waterline查詢語言:https://github.com/balderdashy/waterline-docs/blob/master/query-language.md – marionebl

回答

0

水線解釋myCollection.find().where({tags: ['space' ,'foo']});爲 「找到所有在那裏標籤是'space', 'foo'一個」;它不會做花式陣列交集。您需要訪問本地適配器方法。您正在使用Mongo的假設,那就是:

myCollection.native(function(err, collection) { 

    collection.find({tags:{'$in':['space','foo']}}).toArray(function(err, results) { 

    // Do something with results 

    }); 

}); 

對本地蒙戈適配器here文檔。