首页 > 解决方案 > MongoDB 查找两个常见用户 ID 的聊天 ID

问题描述

我有一个ChatUser具有以下字段的模型,

ChatId:{ref:'Chat'},
UserId:{ref:'User'}

和 ' Chat' 具有以下字段的模型,

_id,
type:{default:'dual'}

如果与我的合作伙伴创建了聊天,我将更新聊天表,如下所示。

{'chatId','userId'},{'chatId','partnerId'} 

所以我和我的伙伴能够为我们的私人聊天共享相同的“ChatId”。

我需要找到给定我的 ' userId' 和 ' partnerId' 的通用聊天 ID。

我在 Sequlize PostgreSQL 代码中有一个代码。但我不知道如何在 Mongoose 中模拟它们。

const user = await User.findOne({
            where: {
                id: req.user.id
            },
            include: [
                {
                    model: Chat,
                    where: {
                        type: 'dual'
                    },
                    include: [
                        {
                            model: ChatUser,
                            where: {
                                userId: partnerId
                            }
                        }
                    ]
                }
            ]
        })

如何在 MongoDB 中复制相同的查询?

标签: mongodbpostgresqlmongoosesequelize.jschat

解决方案


推荐阅读