[英]axios get request to mongodb returns empty data
我從前端通過節點向 Mongodb 數據庫發出 axios 請求,請求基於 userId 的用戶名。 請求已發出,但未返回任何數據。
這是 Mongodb 用戶集合:
{
"_id" : ObjectId("5e1b46cb2e6f4c98904598b0"),
"userId" : "foo@baz.com",
"userName" : "Fool",
}
這是“用戶”架構文件
users model:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const UserSchema = new Schema({
userId: String,
userName: String,
});
module.exports = mongoose.model('Users', UserSchema);
這是后端請求:
backend:
const express = require('express');
const UserRoute = express.Router();
const Users = require('../Models/UserModel');
UserRoute.route('/fetchUserName').get(function (req, res) {
Users.find({userId: req.query.userId}, {userName: 1})
.exec(function (err, user) {
if (err) {
console.log(err);
res.json(err);
} else {
console.log(user.data);
res.json(user.data);
}
});
});
這是來自前端的實際請求:
getUserName = () =>
axios.get('http://localhost:4000/Users/fetchUserName', {params: {userId: 'foo@baz.com'}})
.then(res => {
return res.data;
});
};
res.data 作為空字符串返回。
為什么請求不起作用的任何想法。
userId 可能應該作為字符串發送。 所以要么:
const params {
userId: 'foo@baz.com'
}
axios.get('http://localhost:4000/Users/fetchUserName', { params })
或者
axios.get('http://localhost:4000/Users/fetchUserName', {params: {userId: 'foo@baz.com'}})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.