我想在 MongoDB Atlas 中显示我的数据库中的用户。我已成功创建连接,但无法向用户显示。这是我第一次使用 MongoDB Atlas 和 Express。
它在我的系统上运行得很好,但在我的系统上运行 MongoDB,但在 MongoDB Atlas 上运行不正常。
以下是我编写的一些用于连接和显示用户的代码。
mongoose.connect("mongodb+srv://wulforr:<my password here>@cluster0-rpwjk.mongodb.net/test?retryWrites=true&w=majority" ,{useNewUrlParser: true, useCreateIndex: true})
.then(()=>{
console.log("connected to db");
})
.catch((err)=>{
console.log("error:",err);
})
Run Code Online (Sandbox Code Playgroud)
let userSchema = new mongoose.Schema({
name: String,
email: String,
credits: Number
})
let User = mongoose.model("user", userSchema);
Run Code Online (Sandbox Code Playgroud)
app.get("/users", function (req, res) {
// finding the information about all users from the database
User.find({}, function (err, response) {
if (err) {
console.log(err);
}
else {
res.render("users.ejs", { result: response });
}
}) …Run Code Online (Sandbox Code Playgroud) 我有我的状态
this.state = {
data: [],
dataloaded: false,
isopen: false,
firstname: '',
lastname:'',
email:'',
gender: '',
avatar: '',
number:'',
dob:new Date()
};
Run Code Online (Sandbox Code Playgroud)
我有表单来更新状态,
每个文本输入都有这样的 onchangeonChange={this.handleOnChange("firstname")}
而我的 hndleOnChange 函数是:
handleOnChange = field => event => {
console.log(event.target.value,field)
this.setState({field: event.target.value})
}
Run Code Online (Sandbox Code Playgroud)
这不起作用 这不是更新状态,但如果我这样做
handleOnChange = field => event => {
console.log(event.target.value,field)
this.setState({[field]: event.target.value})
}
Run Code Online (Sandbox Code Playgroud)
这有效
为什么在 objectname 前面添加括号它会正确?