首页 > 解决方案 > 如何在值数组中找到所有具有属性值的元素 - Mongoose

问题描述

我的项目中有一个 UserModel,它mobile_number在下面的架构中具有一个属性

const userSchema = new Schema(
    {
        firstname: {
            type: String,
            text: true,
            maxlength: 50
        },
        lastname: {
            type: String,
            text: true,
            maxlength: 50
        },
        username: {
            type: String,
            text: true,
            maxlength: 50
        },
        last_login: {
            type: Date
        },
        dob: {
            type: Date
        },
        mobile_number: [{
            type: String,
            text: true,
            maxlength: 50
        }]
    })

我还有一组手机号码 ['08099999394', '0809992224', '08176674394']

使用这个手机号码数组如何在不运行 for 循环的情况下获取数组中具有手机号码 (user.mobile_number) 的用户列表?

标签: mongoosemongodb-querymongoose-populate

解决方案


您可以在查询数据库时检查用户的号码是否是数组购买 $ 或运算符中的号码之一。

这是有关此的官方 MongoDB 文档

或者如果你想查询有号码的用户(他们的号码不为空)你可以使用这个:

user.find({ mobile_number: { $ne: null } })

推荐阅读