如何在mongodb中的任何属性中查找包含x的所有结果?

时间:2016-07-19 17:12:38

标签: javascript node.js mongodb express mongoose

我希望能够找到包含某个参数的所有图片,无论哪个属性包含该参数,例如:

说我在搜索栏上输入“John Snow”,我希望结果是John Snow(一个有这个名字的人)发布的所有图片,所有图片 of John Snow(字符)和描述中包含该字符串的任何图片。

是否可以在带有node和express的mongoose框架中执行此操作,或者是通过所有可能的属性查找的答案,然后删除重复项?

var picSchema = new mongo.Schema({
    name: String,
    image: String,
    description: String,
    comments: [{
        type: mongo.Schema.Types.ObjectId,
        ref: "Comment"
    }],
    author: {
        id: {
            type: mongo.Schema.Types.ObjectId,
            ref: "User"
        },
        username: String
    }
});

1 个答案:

答案 0 :(得分:1)

为此,您可以创建并编制索引:

pic.find({ $text : { $search : "keyword" } }).exec((err, response)=> {});

节点重启后,您将能够以下一种方式执行搜索:

reference

不要忘记使用您的架构注册模型