为何无法像普通JSON访问MongoDB嵌套数据?能否改用点语法?
Mongoose + TypeScript 嵌套字段点语法访问问题
我使用Mongoose和TypeScript从MongoDB集合中获取数据,已成功获取到数据,但遇到问题:仅能通过点语法(如{{response.season}}、{{response.avatar}})访问_id、season、avatar等顶层字段,而avatar对象内的嵌套数据只能通过字典式方括号语法(如{{response.avatar["transfer"]}})访问。我希望能改用{{response.avatar.transfer}}这类点语法访问,请问是否可行?
使用Mongoose从MongoDB获取数据的代码
export default async function run() { // 4. Connect to MongoDB await mongoose.connect(config.publicRuntimeConfig.MONGO_URI); const results = await User.findOne({ 'season': '123' }) await mongoose.disconnect(); return results }
获取到的数据
{ "_id": "630fbca3d06e5e2f310ea540", "season": 123, "avatar": { "from_team_id": 1, "to_team_id": 2, "transfer": "asdasd", "type": "dasdasd", "date": "asdasd", "amount": "asdasd", "player": { "player_id": 12, "country_id": 412, "display_name": "asdasd", "nationality": "asdasd", "_id": "630fbca3d06e5e2f310ea542" }, "_id": "630fbca3d06e5e2f310ea541" }, "__v": 0 }
期望的访问方式
<template v-for="transfer in transferData"> {{transfer.avatar.amount}} </template>
当前只能使用的访问方式
<template v-for="transfer in transferData"> {{transfer.avatar["amount"]}} </template>
内容的提问来源于stack exchange,提问作者Lolek
相关产品推荐
相关产品推荐

