通过数组内的元素进行Mongoose查询

时间:2016-12-27 17:42:22

标签: node.js mongodb mongoose

我有mongoose型号:

let schema = new Schema({

    email: {
        type: String,
        required: true,
        unique: true
    },
    password: {
        type: String
    },
    username: {
        type: String,
        unique: true
    },
    confirmed: {
        type: Boolean
    },
    payload: [{
        type: {
           token: blablabla,
           type: blablabla
        }
    }]

});

我希望通过payload.token找到用户。我怎样才能做到这一点?我试过了$elemMatch,但它不起作用。

2 个答案:

答案 0 :(得分:1)

你可以做到

.find({'payload.type.token': token})

答案 1 :(得分:0)

如果payload是一个对象数组,并且您希望按标记值查找用户,则下面的查询应该有效:

db.users.find({payload: {$elemMatch: {'type.token':'blablabla'}}});