如何使用'$ in'对sailsjs进行查询

时间:2014-02-14 16:17:40

标签: javascript node.js sails.js

我有一个集合:

{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

如何搜索具有特定标记的所有项目?

谢谢你

1 个答案:

答案 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上的文档。