我可以使用以下代码从控制台日志返回数据以及响应 json:
router.post('/contact/allcontact',JWTAuthenticatToken, async (req, res) => {
try{
const contact = await Contact.find({id: {"$eq":sanitize(req.body.id)}}).sort({_id: -1})
console.log(contact)
res.json(contact)
}catch(error){
res.json({message:error})
}
})
console.log(contact)结果如下:
[{…}]
0:
contactgender: "Male"
contactname: "John Doe"
createdAt: "2021-04-19T08:30:34.184Z"
date: "2021-04-19T08:30:34.180Z"
updatedAt: "2021-04-19T08:30:34.184Z"
__v: 0
_id: "607d3faa249bb52b88b51f42"
__proto__: Object
length: 1
我想要实现的是在返回 JSON 时定义自己的字段,例如:
router.post('/contact/allcontact',JWTAuthenticatToken, async (req, res) => {
try{
const contact = await Contact.find({id: {"$eq":sanitize(req.body.id)}}).sort({_id: -1})
console.log(contact)
res.json({
myContactInfo:[{
myid:contact._id,
mycontactgender:contact.contactgender,
mycontactname:contact.contactname,
}]
})
}catch(error){
res.json({message:error})
}
})
这是 myContactInfo 的结果:
{myContactInfo: Array(1)}
contactInfo: Array(1)
0:
__proto__: Object
length: 1
__proto__: Array(0)
__proto__:
constructor: ƒ Object()
hasOwnProperty: ƒ hasOwnProperty()
isPrototypeOf: ƒ isPrototypeOf()
propertyIsEnumerable: ƒ propertyIsEnumerable()
toLocaleString: ƒ toLocaleString()
toString: ƒ toString()
valueOf: ƒ valueOf()
__defineGetter__: ƒ __defineGetter__()
__defineSetter__: ƒ __defineSetter__()
__lookupGetter__: ƒ __lookupGetter__()
__lookupSetter__: ƒ __lookupSetter__()
get __proto__: ƒ __proto__()
set __proto__: ƒ __proto__()
但我无法返回数据。我哪里做错了?预先非常感谢并非常感谢任何帮助。谢谢
这是一个 Express js 问题。
要解决您的问题,您首先需要检查联系人变量的类型,如果它是:
希望可以帮助您解决问题。