账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mongoose根据汉字模糊查询
    34
    0

    首先,我有个club社团表(集合);
    然后,我想根据输入的汉字模糊查找,找到名字带有该汉字的社团。例如:社团有:“天天快跑”、“天悦之音”;我搜“天”字,能找到两个社团,我搜“快跑”或者“天快”,能搜到“天天快跑”社团,我搜“天悦”或者“天悦之音”,就搜到“天悦之音”社团
    最后,向大家求解,这个用mongoose要怎么写?我只知道:

    Club.find({
        clubName: clubName
      }, null, function (clubErr, clubDoc) {
    })
    

    能完全匹配,模糊匹配不知道怎么写,看英文官网也是一知半解,希望写过的小伙伴能写下自己怎么写的,着实找不到简单易懂的资料,斗胆问问大家了!谢谢

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在mongoose中,你可以使用find()方法和where()方法来模糊查询。以下是一个例子:

      ```javascript const mongoose = require('mongoose');

      // 假设我们有一个用户模型 const UserSchema = new mongoose.Schema({ name: String, age: Number });

      // 假设我们有一个用户模型,我们想要模糊查询名字为"张三" const User = mongoose.model('User', UserSchema);

      // 我们可以使用以下查询来模糊查询名字为"张三" User.find({ name: { $regex: /张三/ } }); ```

      在这个例子中,$regex操作符是一个正则表达式,它匹配字符串。在我们的查询中,它匹配名字包含"张三"的用户。如果你想要匹配名字中不包含"张三"的用户,你可以将$regex改为!$regex

      如果你想要模糊查询年龄,你可以将name改为age。例如:

      javascript User.find({ age: { $regex: /张三/ } });

      如果你想要模糊查询其他属性,你可以将nameage改为相应的属性名。例如:

      javascript User.find({ name: { $regex: /张三/ }, age: { $regex: /张三/ } });

      请注意,这些查询是基于字符串的,如果你想要查询其他类型的值(例如整数或数字),你可能需要使用不同的方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部