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

Mongoose无法创建第二个MongoDB集合问题求助

Mongoose创建People集合不显示问题排查

我使用Mongoose在MongoDB的fruitsDB数据库中创建第二种集合,第一个Fruit集合已成功创建并显示,但第二个People集合始终不显示,多次刷新Studio 3T界面仍无法看到。控制台没有报错,尝试过ChatGPT的解决方案但无效。

相关代码

const mongoose = require('mongoose');
mongoose.connect("mongodb://localhost:27017/fruitsDB",{useNewUrlParser: true}) 

const fruitSchema = new mongoose.Schema({  // 创建数据结构模板
    name: String,
    rating: Number,
    review: String
});

const Fruit = mongoose.model("Fruit", fruitSchema) 
const fruit = new Fruit({
    name: "Apple",
    rating: 7,
    review: "5"
})
fruit.save();

// 创建people集合的任务

const peopleSchema = new mongoose.Schema({
    name: String,
    age: Number,
    education: String
})

const People = mongoose.model("People", peopleSchema);

const people = new People({
    name: "Kanha",
    age: 19,
    education: "Btech"
});

people.save()  // 数据未保存到数据库

问题现象

Studio 3T界面仅显示已创建的Fruit集合,People集合未出现在列表中。

排查与解决方案

  • 核对集合名称:Mongoose默认会将模型名转换为小写复数形式,People模型对应的集合名是people,去Studio 3T中查找people集合而非People。
  • 验证数据写入结果:在people.save()后添加回调或使用async/await确认是否真的写入成功,避免静默失败:
    // 回调方式
    people.save((err, savedDoc) => {
      if (err) console.error("保存失败:", err);
      else console.log("数据已成功写入:", savedDoc);
    });
    
    // async/await方式
    async function savePeopleData() {
      try {
        await people.save();
        console.log("People数据保存成功");
      } catch (error) {
        console.error("保存出错:", error);
      }
    }
    savePeopleData();
    
  • 确认数据库连接状态:给mongoose连接添加状态回调,确保连接正常:
    mongoose.connect("mongodb://localhost:27017/fruitsDB", {useNewUrlParser: true})
      .then(() => console.log("数据库连接成功"))
      .catch(err => console.error("数据库连接失败:", err));
    
  • 正确刷新Studio 3T:右键点击fruitsDB数据库名称,选择「Refresh」选项刷新,或重启Studio 3T后再查看集合列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:20:20