我正在嘗試使用 Node Js 和 mongoose 在 mongodb 中查找特定檔案。
但是當我運行以下代碼片段時,我沒有得到資料庫的回應。
const express = require("express");
const router = express.Router();
const Vehicle = require("../db/models/vehicle");
//api to get single vehicle data
router.get("/vehicle", async (req, res, next) => {
try {
const { name } = req.query;
console.log(name);
const vehicle = await Vehicle.find({ name: name });
res.status(200).json(vehicle);
} catch (error) {
res.status(500).json({ message: error });
}
});
[沒有回應的郵遞員影像][1]
但是當我運行以下代碼片段時,我得到了來自資料庫的回應。
const express = require("express");
const router = express.Router();
const Vehicle = require("../db/models/vehicle");
//api to get single vehicle data
router.get("/vehicle", async (req, res, next) => {
try {
const vehicle = await Vehicle.find({ name: "BMW II" });
res.status(200).json(vehicle);
} catch (error) {
res.status(500).json({ message: error });
}
});
[帶有回應的郵遞員圖片][2] 我該怎么辦?[1]:https://i.stack.imgur.com/7svLJ.png [2]:https://i.stack.imgur.com/ZgxRa.png
uj5u.com熱心網友回復:
如此看來,您正在發送查詢,因為name="BMW II"在服務器中您的 name 變數將設定為'"BMW II"'因此您將不會得到正確的結果。
//your req will have a field like this
req = {query: { name: '"BMW II"' },...}
發送查詢字串時,即使它是字串,也不用引號引起來。express 中的查詢字串默認被標識為后端的字串。
只需發送喜歡name=BMW II,您的 name 變數將設定為'BMW II'.
req = {query: { name: 'BMW II' },...}
如果您將數字作為查詢字串發送,num=5那么在后端,如果您愿意對其進行計算,您將不得不將其決議為整數,因為它是作為字串接收的req.query
req = {query: { num: '5' },...}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424017.html
標籤:javascript 节点.js mongodb 猫鼬
