【问题标题】:Searching in mongoDb (using mongooseJS) by several criteria [duplicate]通过几个标准在 mongoDb 中搜索(使用 mongooseJS)[重复]
【发布时间】:2018-04-30 12:20:14
【问题描述】:

例如,我有一个 Schema

let UserSchema = new Schema({

username: { type: String, required: true, unique: true },
name: { type: String, required: true },
surname: { type: String, required: true },
....
....

是否可以同时按姓名、用户名、姓氏搜索用户?我的意思是,如果我们输入“Paul”——我们会得到一个用户数组,包括用户名包含“Paul”、名字“Paul”和姓

如何在 Mongoose 中使用查询来做到这一点(这种搜索的构造如何)感谢关注。

【问题讨论】:

    标签: mongodb search mongoose schema


    【解决方案1】:

    Mongoose 查询的基本语法是 documented

    而且,是的,您可以在搜索条件中使用任意数量的字段。有一堆logical operators 可用于组合您的过滤器。对于不区分大小写的“包含”查询,您需要像这样使用$regex

    var userName = "Paul";
    var User = mongoose.model('User', UserSchema);
    User.find({
        $or:
        [
            { "username": { $regex: userName, $options: 'i' } },
            { "name": { $regex: userName, $options: 'i' } },
            { "surname": { $regex: userName, $options: 'i' } }
        ]
    },
    function (err, docs) {
        /* do something with your results */
    });
    

    【讨论】:

    • 不用担心,这些东西真的很基础。 ;) 尝试先学习一些教程和文档!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多