在mongoosejs中获取用户的相关聊天记录

时间:2018-09-08 16:05:03

标签: node.js express mongoose mongoose-schema

我有一个具有多对多关系的“聊天和用户”模型。用户有很多聊天,每个聊天都属于两个用户(很多)。这是聊天模型Schema:

    var Chat = mongoose.model('Chat', {

    name : {
        type: String,
        trim: true,
        minlength: 1,
        required: true
    },
    _users : [{
        type: mongoose.Schema.Types.ObjectId,
        required : true
    }]


});

这是我的用户模型:

var UserSchema = new mongoose.Schema({


        email : {
            type: String,
            trim: true,
            minlength: 1,
            required: true,
            unique : true,
            validate : {
                validator : validator.isEmail,
                message : '{value} is not valid email'
            }
        },
        password : {
            type : String,
            required: true,
            minlength: 6
        },
        tokens : [{
            access : {
                type : String,
                required: true
            },
            token : {
                type : String,
                required: true
            }
        }]





});

现在,我想显示特定用户的聊天记录。我该怎么办?

app.get('/chats',authenticate, (req,res) => {
    Chat.find({
        _users : // this is where I dunno what to do 
    }).then((chats) => {
        res.send({chats});
    },(e) => {
        res.status(400).send(e);
    });
});

这是我的聊天路线,在这里我可以获取特定的用户聊天记录。谢谢。

0 个答案:

没有答案