我正在构建一个聊天应用程序,其中我需要添加更多的房间(组)。我已经为数据库使用了MongoDB。
这是我的架构。
import mongoose from "mongoose";
const Schema = mongoose.Schema( {
message: String,
name: String,
timestamp: String,
received: Boolean,
});
const messageContent = mongoose.model('messageContent', Schema);
export default messageContent;
我可以通过在Mongodb.com上轻松地添加集合,但我想使用前端的一个按钮来添加它。
这是前台,我做了一个按钮并onClicking它,一个提示出现了,我们必须写下房间的名称。但是在那之后,我的代码给了我一个错误。
import { Avatar } from '@material-ui/core';
import React from 'react';
import mongoose from "mongoose";
import "./SidebarChat.css";
import Schema from "./messages";
function SidebarChat({adddNewChat}) {
const db = mongoose.connection;
const createChat = e => {
const roomname = prompt("Add a new chat name");
if(roomname){
console.log("roomName is created : ", roomname);
mongoose.model('room', Schema);
}
}
return !adddNewChat ? (
<div className="sidebarChat">
<Avatar />
<div className="sidebarChat__right">
<h2>Room Name</h2>
<p>Last Message</p>
</div>
</div>
) :
(
<div className="sidebarChat" onClick={createChat}>
<h2> Add new Chat</h2>
</div>
)
}
export default SidebarChat
请告诉我怎么做。
发布于 2021-04-08 14:07:11
把react和mongoose放在一起似乎不是一个好方法。
这是因为"react“预计会在火狐、chrome、...etc等浏览器上运行。而且这些浏览器并不完全支持"mongoose“的功能,反之亦然。
除了模式和验证文档之外,
Mongoose的浏览器库不支持保存文档、查询、填充、鉴别器或任何其他Mongoose特性。
另一方面,"mongoose“将由没有DOM结构来呈现的纯"node.js”运行。
https://stackoverflow.com/questions/66997691
复制相似问题