按标签过滤器查找集合列表" OR"

时间:2014-10-20 19:40:01

标签: arrays node.js mongodb mongoose

我想制作一个带有猫鼬的过滤标签系统。 原理很简单,我有一个模型,在输入中有一个字符串数组和一个数组。 我想要在输入数组中包含标签的select元素。 例如:

game_console [{
    name: "Playsation",
    tags: ["old", "sony"]
}, {
    name: "xBox",
    tags: ["nintendo", "powerfull"]
}, {
    name: "megadrive",
    tags: ["old", "sega"]
}, {
    name: "Gameboy",
    tags: ["prehistory", "sega"]
}];

如果我输入数组输入[“old”,“sega”],我必须得到元素:Playstation和Megadrive。

搜索后我发现$in并测试了它:

Preambule.find({
        'tags': {
            $in: tags_array_input
        }
    }).sort('-commentaires_size')
    .exec(function(err, things) {
        // [...]
    });

只有当我的字段标签不是String数组时才有效..

我不知道在文档中搜索什么。

我的模特:

var PreambuleSchema = new Schema({
    titre: String,
    description: String,
    content: String,
    auteur: String,
    tags: [String],
    votes: [],
    commentaires: [{
        "authorMail": String,
        "content": String
    }],
    commentaires_size: Number,
    date: String
});

我正在使用yeoman fullstacks,Angularjs,mangoose,nodeJs。

0 个答案:

没有答案