You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何无法像普通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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 18:51:31