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

MongoDB中如何将自行录入的文档_id字段展示到控制台与页面

出现这个情况通常是你使用的Mongoose Schema没有正确配置_id字段的返回规则导致的,可按以下方案解决:

方案1:修正Schema配置(推荐)

检查你的竞赛数据对应的Mongoose Schema定义,常见错误有两类:

  • Schema中仅声明了name字段,没有匹配你录入的_id字段的类型定义
  • Schema配置项中手动加了{ _id: false },禁用了_id字段的返回

修正后的Schema参考示例:

const mongoose = require('mongoose')
const competitionSchema = new mongoose.Schema({
  // 如果你自定义录入的是字符串类型_id,就改为type: String
  // 如果是MongoDB默认的ObjectId类型,保留下面的配置即可
  _id: mongoose.Schema.Types.ObjectId, 
  name: String
})
// 不要添加 { _id: false } 配置项
const competitionTemplateCopy = mongoose.model('Competition', competitionSchema)

方案2:查询时强制指定返回字段

如果不想修改Schema,可直接在路由查询代码中通过select方法强制指定返回_id字段:

router.get('/getCompetitions', (request, response) => {
    competitionTemplateCopy.find()
    // 多个返回字段用空格分隔
    .select('_id name')
    .then(data => response.json(data))
    .catch(error => response.json(error))
});

修改完成后重启后端服务,再次触发前端请求,控制台打印的response.data中就会包含_id字段,需要在页面展示的话直接遍历取对应条目的_id属性即可。

内容的提问来源于stack exchange,提问作者AntonHPL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:36:03