Javascript 在聊天应用程序中仅删除一个用户的对话

Javascript 在聊天应用程序中仅删除一个用户的对话,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我正在使用nodejs和mongodb实现一个聊天应用程序。我创建了模型:对话和消息 Message.js conversationId: { //conversationID }, body: { //messsagebody }, author: { //sender }, date: { } Conversation.js participants: {

我正在使用nodejs和mongodb实现一个聊天应用程序。我创建了模型:对话和消息

Message.js
conversationId: {
        //conversationID
    },
    body: {
        //messsagebody
    },
    author: {
        //sender
    },
    date: {
        
    }

Conversation.js
participants: {
        //an array of sender and receiver(users)
}

我创建端点是为了获取用户的消息,获取用户之间对话的消息。我发现很难实现端点来删除登录用户的对话或消息。因为它也会删除另一个用户的对话。如何实现仅为一个用户删除对话的目标?

您必须为所有参与者复制对话,并且每个参与者只能看到其副本。或者,您可以在对话上设置某种可见性标志,设置谁可以查看/不查看内容。这样,一个用户的对话被“删除”,而另一个用户的对话则被“删除”。

不要删除整个对话,只需在消息架构中添加参与者id,删除会话时只需更新在该会话的消息架构中删除会话的用户的id。然后,在获取会话消息时,使用登录,其中用户在消息架构中没有id

如何仅为一个用户修改访问标志?取决于您想要一个包含模式还是独占模式。e、 g.列出所有能看到对话的人:可见性:[user1,user2,user3….]允许除某些人以外的所有人看到对话:排除:[user2]