小编Sha*_*ngh的帖子

MongoDB Atlas 连接正常,但在 Heroku 中不显示数据

我想在 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)

heroku mongoose

4
推荐指数
1
解决办法
4047
查看次数

为什么状态在反应中更新状态时会以这种方式表现

我有我的状态

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 前面添加括号它会正确?

javascript ecmascript-6 reactjs

0
推荐指数
1
解决办法
44
查看次数

标签 统计

ecmascript-6 ×1

heroku ×1

javascript ×1

mongoose ×1

reactjs ×1