0

我在 MongoDB find 调用中遇到参数问题。如果我通过 request.params.note_id 我得到未定义。如果我用数字调用 find 我会得到一组正确的数据。

使用 request.params.note_id 调用。这只会返回一个空白视图。Console.log 正确打印 id。

app.get("/show/:note_id", function(request, response) {
  console.log(request.params.note_id);
  return db.notes.find({
    note_id: request.params.note_id
  }, function(err, notes) {
    return response.render(__dirname + "/views/index.ejs", {
      notes: notes
    });
  });
});

使用固定 id 2 调用。这将返回正确呈现的视图,其内容为 note_id 2。Console.log 正确记录 url 中的任何内容(例如“/show/22”打印 22)。

app.get("/show/:note_id", function(request, response) {
  console.log(request.params.note_id);
  return db.notes.find({
    note_id: 2
  }, function(err, notes) {
    return response.render(__dirname + "/views/index.ejs", {
      notes: notes
    });
  });
});
4

1 回答 1

0

解决了。我只需要使用 parseInt 将参数转换为整数。

note_id: parseInt(request.params.note_id)
于 2013-01-13T22:23:16.797 回答