我有一个集合:
{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 :(得分:0)
Waterline将myCollection.find().where({tags: ['space' ,'foo']});
解释为"找到所有标记一个 'space', 'foo'
&#34 ;;它没有花式阵列交叉。您需要为此访问本机适配器方法。假设您正在使用Mongo,那将是:
myCollection.native(function(err, collection) {
collection.find({tags:{'$in':['space','foo']}}).toArray(function(err, results) {
// Do something with results
});
});
原生Mongo适配器here上的文档。